Kotlinとは
kotlinとはAndroidアプリの開発を簡単に行うために作られたプログラム言語です。
kotlinという言語はJavaと似てオブジェクト指向言語のなっているため、Javaについて知識があれば比較的取り入れやすい言語となっています。
kotlinのメリット・デメリット
デメリット
- Javaに比べてシンプルな記述
Javaに比べてシンプルな記述をするため、コード量が少なくなり、可読性が向上します
- nullを許容しない
Javaだと想定外のnullが参照された場合に発生するエラーNull PointerExceptionが発生してしまうことがあるかと思います。
kotlinにはNull Safetyという仕様があるため、基本的にはNullが入らないようなコーディングを行わないとコンパイルされません。
- KotlinはJavaと相互利用ができる
簡単にいうとJavaで作成したプログラムに対してkotlinの機能を追加することができます。
そのため、JavaからKotlinを呼び出したりKotlinからJavaを呼び出したりすることもできます。
デメリット
- kotlinの日本語ドキュメントが少ない
kotlinについて不明点があった際に日本語で記載されているドキュメントが多くないため、調査が大変になります。
kotlinの使い方
変数の定義
変数を定義する際はval
やvar
を使用します。
また、Javaと違って型を定義しなくても、コンパイラが型を推論してくれるため、型定義をしなくてもよいです。
val
// valはJavaでいうfinalと同等
val index1 = "1"
// valで定義した変数に対して再代入するとエラーが発生
index1 = "9"
// 明示的に型を指定することも可能
index1: String = "9"
// 変数宣言と初期化を一緒にしない場合は、型定義をしておく必要がある
val num: Int
num = 1
var
// varは値の再代入が可能
var index2 = "2"
// varで定義した変数に対して再代入してもエラーが発生しない
index2 = "9"
kotlinの関数
戻り値の型定義がメソッド名の後になります。
public fun methodName(): String {
val text: String = "text"
return text
}
kotlinのswitch文
kotlinではwhen() を使用することでJavaでいうswitch文を記載できます。
public fun methodName(num: Int = 3) {
val text: String
when (num) {
1 -> text = "1"
3 -> text = "3"
else -> "9999"
}
}
Null許容
最初にkotlinはnullを許容しないと記述していたのですが、nullを設定したい場合は型の後ろに?
をつけることでnull許容になります。
val text: String? = null
セーフコール演算子
変数の値がnullの場合に処理を行わないといったコードも書けます。
変数の後ろに?
をつけることでnullの場合に処理をスキップすることができます。
public fun methodName(): Boolean {
val text: String? = null
// textがnullの場合はreturn trueの処理が行われない
text?.let{
return true
}
return false
}