inline fun

その名の通りインライン展開される関数です。 インライン展開とは? fun caller() { a() callee() d() } fun callee() { b() c() } 通常、関数呼び出しは関数呼び出しにコンパイルされます (???) JVMの場合はINVOKEVIRTUALというオペコードに変換されます…

クロージャ

関数の中に関数を書くことができます。 fun outer() { fun inner() { } } 通常の関数 fun inner() { } 匿名関数 val inner = fun() { } ラムダ式 val inner = { } 記法はいくつかあれど、Kotlinの場合関数の中に書く関数はすべてクロージャとなります。 つま…

インデントにスペース3文字を使う

あくまで個人プロジェクトでの話です。 チームでの開発などではチームに合わせましょう あとこのエントリに限らずすべてそうですがあくまで私がそうしているというだけであって 他の人に強要する気はありません。 正直たまに理解不能なことを言ってる自覚は…

論理的に思考する

誰だって自分や自分の好きなものが正しいと思いたいものです。 だからといってそういう思考ばかりしていてはいけないんですね。 人が成長するきっかけは大きく2つあると私は考えています。 ひとつは、それまで知らなかった新しい知識を身につけること。もう…