LoginSignup
2
2

More than 5 years have passed since last update.

Kotlinまとめ - 基本的な文法 - 型

Last updated at Posted at 2018-07-14

変数と型とリテラル

型とリテラル

  • 他の言語にもあるような型は基本的にある
    • 文字、文字列
      • "Kotlin"
    • 整数
      • 1
    • 浮動少数
      • 1.5
    • 真偽値
      • true
    • など

変数、定数

// 変数
var hoge: String = "hoge"

// 定数
val fuga: String = "fuga"

明記した型と代入したい型が異なる場合はもちろんコンパイルエラー

型推論のおかげで以下のように型名を省略できる

// 変数
var hoge = "hoge"

// 定数
val fuga = "fuga"

さまざまなオブジェクト

文字列

val name = "hicka04"
print("Hello, ${name}!")
print("Hello, $name!")
// Swiftなら
// print("Hello, \(name)!)

// 複数行
val message = """
hogehoge
fugafuga
"""

配列

val strings = arrayOf("red", "green", "blue")
print(strings[0]) // red

リスト

val ints: List<Int> = listOf<Int>(1, 2, 3)
ints[0] = 5 // コンパイルエラー
// ListはImmutableなのでListの中身を編集することはできない
// varで宣言すればList自体を再代入は可能

// Mutableはこっち
val chars: MutableList<Char> = mutableListOf('a', 'b')
chars[0] = 'c'    // ['c', 'b']
chars += 'X'      // ['c', 'b', 'X']
chars.removeAt(0) // ['b', 'X']

セット

// Immutable
val ints = setOf(1, 2, 1, 3)
print(ints) // [1, 2, 3]

// Mutable
val chars = mutableSetOf('a', 'b', 'a')
print(chars) // ['a', 'b']

マップ

// ImmutableとMutableがそれぞれあるが今回は省略
val map = mutableMapOf("one" to 1, "two" to 2)
println(map) // {one=1, two=2}

リスト、セット、マップの雑感

  • Swiftだとvarで宣言すればMutable、letで宣言すればImmutableなので、 valmutableが両立しているのが慣れないな…。

レンジ

val range = 0 .. 5
println(1 in range)  // true
println(1 !in range) // false
println(range.toList()) //[0, 1, 2, 3, 4, 5]
println((5 downTo 0).toList()) // [5, 4, 3, 2, 1, 0]
println((1 .. 5 step 2).toList()) // [1, 3, 5]

末尾を含まないレンジが作れないのかな…
Swiftなら0 ..< 5なんだけど


← Kotlinとは || 基本的な文法 - 条件分岐, ループ →

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2