プロデューサーさん!kotlinですよ!kotlin!

こんにちイワンコフ。奥さん、、、書くことないです。

今、社内でkotlinブームが巻き起こっているのでkotlinに触れてみたミーハー野郎です。
まず名前が某アイドル事務所の事務員さんみたいで可愛いですね。でも、名前の由来はロシアの島らしいです。
僕は千鳥が好きなので将来もし言語を作るようなことがあればkitagiとでも名付けましょうか。

つっちーから教えてもらった、kotlin助走読本と言うものを読んで勉強しました。

kotolinでhello youtube

kotlinはまずjavaの進化系として開発されたものです。
構文的にはjavaとは全然違って今風な感じとなっています。
見比べるとこんな感じ

class Main {
    public static void main(String[] args) {
        System.out.println("Hello Youtube");
    }
}
fun main(args: Array<String>) {
    println("Hello Youtube")
}

短か(笑)。
javaではメインスレッドであるmainメソッドを実行するためにクラス宣言をする必要がありますが、
kotlinではその必要がなくいきなりmainメソッドを呼ぶことができます。
そしてシブいのがfunで関数宣言すると言うこと。ファン・ロマン・リケルメを呼んでるんですか?
個人的に引数の変数名の後のコロンがかっこいいと思いました。
なぜかと言うとコロンが入ることで文の中でタメが作られる気がしてリズムがよくなるような気がしたからです。
他に違いはセミコロンが必要ないことでしょうか。
これに関しては僕はセミコロンが好きなので、少し残念でしたが、試したみたところセミコロンがあってもコンパイルと実行は可能でした。

基本文法

var juan : Int = 1
val roman : Int = 2

kotlinではこのように変数宣言を行います。
ここでもコロンが出てきて気持ちいですが、これは明示的に宣言しているだけで省略できます。
varとvalですがこれは再代入可能かどうかのことでvarは再代入可能でvalは再代入不可となっています。

var juan = 1
juan = 2 // OK

val roman = 1
roman = 2 // コンパイルエラー

次にif文ですが、式として扱うことができます。

val result : String = if (true) {"true"} else {"false"}
println(result) // true

ちょうど三項演算子のような感じですが、見辛くなるのであまり使わないかな?

次にwhen式と言うものがありますが、これはswitch文のようなものです。

val value = 1
val string = when(value) {
    1 -> "one"
    2 -> "two"
    else -> "other"
}

式として扱えるので変数に代入できるのがいいですね。
また、javaのswitch文と比べて見やすいと思います。

そう言うことでポケモンに向けてNintendo Switchを買おうと思います!