👋

kotlinが文法で優れているところを挙げてみる

に公開

筆者の知識範囲でkotlinが優れているところをjavaと比較してあげてみる
比較することによって、kotlinは学んで損がないことを記載。
気づいたタイミングで記載しているため、随時更新予定です。
kotlinを学んでいる経緯としてはAndroidアプリ開発を個人で学んでみたかったからです。

セミコロンが不要

末尾にセミコロンが要らないのは結構楽ですね。

when文がラムダ構文に使用可能

javaのswitch文はcaseで記載しないのといけないのに対して、kotlinはラムダ構文のように記載できる
javaはbreakを記載しないといけないので、kotlinのほうが読みやすいですね。

when (x) {
    1 -> println("One")
    else -> println("Other")
}

トレイリングラムダ構文が使用可能

javaをメインにしている身としては一番の衝撃でした。
しかも、呼び出し時に引数として渡さずに外出しで関数内容を記載できることです。
javaで同じことはできません。

// 末尾の引数に関数を宣言できる
fun greet(message: String, action: () -> Unit) {
    println(message)
    // 実装された内容が呼ばれる
    action()
}

// 呼び出し例
// 最後の引数が関数なのでカッコの外に出せる
greet("Hello") {
    println("ラムダを呼び出す")
}

メソッドの戻り値を=で設定可能

javaに慣れている方はこんな感じだと見やすいと思いますが・・・・

fun add(x:Int, y:Int) :Int {
    return x + y
}

なんと、、、変数代入みたいに書けます・・・!
javaでは見られない構文ですね

fun add(x:Int, y:Int) :Int = x + y

Discussion