新品価格 |
Kotlinイン・アクションを読んだ
マスタカと言えばandroidエンジニア
そして、androidと言えばKotlinである
そんなわけで読んでみた
・本書の内容
Kotlinの言語系について詳細に述べた本
正直後半は難しすぎるので
Kotlinからプログラミング入る人には辛いと思う
他の言語からスイッチする人向け
ためになった内容をつらつら書く
・拡張関数
1 2 3 |
// Stringをレシーバ型 // thisをレシーバオブジェクト fun String.lastChar(): Char = this.get(this.length - 1) |
・拡張関数は静的に決まる
1 2 3 4 5 6 |
fun Number.test() = println("number test") fun Int.test() = println("int test") val a:Int = 1 a.test() //int test val b:Number = 1 b.test() //number test |
・toはPairを返す
1 2 |
// 以下のコードがかける val p = 1 to "1" |
・トリプルクウォート
1 2 3 4 5 6 |
"""ほげほげ""" // はエスケープが不要になる // もちろん改行もできる """ほげ ほげ""" |
・ネストしたクラス
通常のネストしたクラスは外部への参照はもたない
inner classは外部への参照を持つ
・==
kotlinの==はオブジェクトが等しいことをチェックする
・sequence
filterしてmapする場合、両方でリストが作られるので効率が悪い
hogehoge.asSequence(),map().filter().toList()
にするとパフォーマンスが改善することがある
・ラムダを渡す
以下は等価
1 2 3 4 |
postponeComputation(1000, object:Runnable(){ override fun run(){} }) postponeComputation(1000){} |
・inとout
inは引数、outは返り値
1 2 3 |
interface Tranformer<T> { fun transform(t: T): T } |
とても良い本でしたがちょっと難しいw
Kotlinのバージョンガンガン上がってしまうので
現状ならまだ本書は有用なのでオススメです