はじめに
Kotlinを書くときに
「この型ってどう書くんだっけ?」
となっているKotlin初心者向けの記事になります!
今までJavaScript(動的型付け言語)を扱うことが多く
型を強く意識したことがありませんでした。
Android開発に携わり 「何だこの書き方は!?」 と静的型付けの書き方に戸惑うことが多く
自分が見返すため用の記事として書きました!
目次
プリミティブ型
リファレンス型
Nullable型
型推論
最後に
プリミティブ型
プリミティブ型 ・・・ 最初から用意されている基本的な変数の型
- Double ・・・64bit浮動小数点数型
- Float ・・・32bit浮動小数点数型
- Long ・・・64bit整数型
- Int ・・・32bit整数型
- Short ・・・16bit整数型
- Byte ・・・8bit整数型
- Boolean ・・・64bit真偽値
↑実務で使う代表的な型のみ紹介しています。
プリミティブ型は、以下のように宣言することができます。
val y: Double = 3.14
val a: Float = 3.14f
val b: Long = 1234567890123456789L
val c: Short = 123
val d: Byte = 12
val x: Int = 10
val z: Boolean = true
↑④のLong型の値の最後にL、という文字が記載されていますが、値がLongであることを表したい時に記述するルールになっています。Float型も同様です。
リファレンス型
リファレンス型 ・・・配列やクラスのようにnew演算子を用いてオブジェクトを生成してから使用するデータ型
- String
- Array
- List
- Map
リファレンス型の宣言方法↓
val str: String = "Hello, Kotlin!"
val array: Array<Int> = arrayOf(1, 2, 3)
val list: List<String> = listOf("apple", "banana", "orange")
val map: Map<String, Int> = mapOf("apple" to 100, "banana" to 200, "orange" to 300)
Nullable型
変数がnullを含む可能性があることを示します。
Nullable型の宣言方法↓
val x: Int? = null
val y: String? = "Hello, Kotlin!"
型推論
Kotlinは、初期値から型を類推する型推論という仕組みを持っています。
変数の型を明示的に宣言しなくても、コンパイラが自動的に型を推論してくれます。
ただし、初期値とデータ型の両方を省略することはできないので注意。
val x = 10 // xはInt型に推論される
val y = "Hello, Kotlin!" // yはString型に推論される
最後に
すぐに見返すせるよう、Kotlinの型の早見表です。
型 | 説明 | 例 |
---|---|---|
Int | 32bit整数型 | val x: Int = 10 |
Double | 64bit浮動小数点数型 | val x: Double = 3.14 |
Float | 32bit浮動小数点数型 | val x: Float = 3.14f |
Long | 64bit整数型 | val x: Long = 10000000000 |
Short | 16bit整数型 | val x: Short = 10 |
Byte | 8bit整数型 | val x: Byte = 0b1111111 |
Char | 文字型 | val x: Char = 'A' |
Boolean | 真偽値型 | val x: Boolean = true |
String | 文字列型 | val x: String = "Hello, Kotlin!" |
Array | 配列型 | val x: Array = arrayOf(1, 2) |
List | 不変のリスト型 | val x: List<String> = listOf("apple", "banana") |
MutableList | 可変のリスト型 | val x: MutableList = mutableListOf("apple", "banana") |
Set | 不変のセット型 | val x: Set<String> = setOf("apple", "banana") |
MutableSet | 可変のセット型 | val x: MutableSet = mutableSetOf("apple", "banana") |
Map | 不変のマップ型 | val x: Map<String, Int> = mapOf("apple" to 100, "banana" to 200) |
MutableMap | 可変のマップ型 | val x: MutableMap = mutableMapOf("apple" to 100, "banana" to 200) |
Any | すべての型のスーパータイプ | val x: Any = "Hello, Kotlin!" |
Unit | 戻り値がないことを示す特別な型 | fun printHello(): Unit { println("Hello") } |
Nullable型 | nullを含む可能性がある型 | val x: Int? = null |
以上がKotlinの型についての基本的な説明となります。
Kotlinの型については、まだまだ細かい部分がありますが、
初心者の方にとって役に立つことを願っています。
ありがとうございました!!