パッケージの定義
パッケージの記述は、ソースファイルの先頭に置かなければなりません。
// ...
ディレクトリとパッケージと一致する必要はありません。ソースファイルは、ファイルシステム内の任意の場所に配置することができます。
パッケージを参照してください。
関数の定義
2つのInt型の引数を持ち、Int型を戻り値とする関数:
式本体と推論された戻り値の型を持つ関数:
Unit型の戻り値は省略できます:
関数を参照してください。
ローカル変数の定義
1度だけ代入できる(読み取り専用)ローカル変数:
変更可能 (Mutable) な変数:
プロパティとフィールドも参照してください。
コメント
JavaとJavaScriptのように、Kotlinは行末コメントとブロックコメントをサポートしています。
Javaとは異なり、Kotlinのブロックコメントは入れ子にすることができます。
ドキュメンテーションコメントの構文の詳細については、Kotlinコードの文章化を参照してください。
文字列テンプレートの使用
print("First argument: ${args[0]}")
}
文字列テンプレートを参照してください。
条件式の使用
ifを式として使用:
NULL可能値を使用した、nullのチェック
null値を取り得る場合、参照は明示的にnullとしてマークする必要があります。
strは整数を保持していない場合はnullを返します:
null可能値を返す関数を使用:
val x = parseInt(args[0])
val y = parseInt(args[1])
// `x`, `y`はnullが入っていることがあるので、`x * y`はエラーを引き起こす
if (x != null && y != null) {
// xとyは、nullチェックの後自動的に非null許容型へキャストされる
print(x * y)
}
}
または
// ...
if (x == null) {
print("Wrong number format in '${args[0]}'")
return
}
if (y == null) {
print("Wrong number format in '${args[1]}'")
return
}
// x and y are automatically cast to non-nullable after null check
print(x * y)
null安全を参照してください。
型チェックと自動キャストの使用
is演算子はある式がある型のインスタンスであるかのチェックを行います。 不変のローカル変数やプロパティが特定の型であるかチェックされている場合は、明示的にキャストする必要はありません:
// `obj` は型チェックが行われたブランチ外では、まだ`Any`型である
return null
}
または
// `obj` はこのブランチ内では自動的に`String`へキャストされる
return obj.length
}
あるいは
return null
}
クラスと型のキャストを参照してください。
forループの使用
または
forループを参照してください。
whileループの使用
whileループを参照してください。
when式の使用
when式を参照してください。
範囲の使用
in演算子を使用すると、数が範囲内にあるかどうかを確認できます:
数が範囲外であるかどうかを確認します:
範囲内で反復処理:
範囲を参照してください。
コレクションの使用
コレクション内で反復処理:
コレクションがあるオブジェクトを含むかをin演算子で調べる:
フィルタやマップコレクションにラムダ式を使用します:
高階関数とラムダを参照してください。