Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kotlin入門しました

 Kotlin入門しました

#prolabLT のスライドです.

gedorinku

March 24, 2017
Tweet

More Decks by gedorinku

Other Decks in Programming

Transcript

  1. Kotlin #とは • JetBrainsが作った言語 • JVMで動く • Androidでも使える • 安全で簡潔な記述ができる

    • null安全 • SAM変換 • 拡張関数 • delegation とか • 名前がかわいい
  2. null許容型・非null型 fun main(args: Array<String>) { var hoge: Array<Int> = null

    var piyo: Array<Int>? = null //something to do val evenCount = piyo?.count { it % 2 == 0 } ?: 0 } ←コンパイルエラー ←OK null許容型はnullチェックして参照しないとコンパイルエラー
  3. キモイことができます operator fun Int.invoke(): Int = this * 2 fun

    Int.println() = println(this) 1()()().println() //-> 8
  4. 既存のクラスに後からメソッドを追加する機能 //-> [0, 8, 16] fun Array<Int>.applyMany( times: Int, f:

    Array<Int>.() -> Unit ): Array<Int> { for (i in 1..times) { f() } return this } fun main(args: Array<String>) { println(arrayOf(0, 1, 2).applyMany(3) { forEachIndexed { index, i -> this[index] = i * 2 } }.toList()) }