Kotlinを勉強しよう
さて、本日はKotlinを勉強してみたいと思います。
勉強の題材としては、Google Sign-In SDK for Androidを使ってみよう!で取り上げた Google Sign-In SDKによるOAuth2.0認証 にしたいと思います。
その中で筆者が抑えておくべきと思ったところを基礎からメモっていきます。
(KotlinをAndroid Studioに導入する方法は以前書いたAndroid StudioにKotlinを導入しよう!を参照ください。)
では、早速、見ていきましょう。
Kotlinで変数/定数の書き方
最も基本的なことですが、変数/定数の書き方から異なります。
Javaの場合
1 2 |
|
Kotlinの場合
1 2 |
|
ポイントは下記です。
- 定数は
val
で変数はvar
を使う - 定数は、val 定数名:型名 = 値
- 変数は、var 変数名:型名 = 値
- 初期値未定の変数は型名の後ろに
?
をつけて、null
を代入
これをしないと『Property must be initialized or be abstract』エラーが発生する
Kotlinでのstatic定数の書き方
Kotlinではstatic
は使いません。
Javaの場合
1 2 |
|
Kotlinの場合
1 2 3 4 |
|
Kotlinでimplementの書き方
Google Sign-In SDKでOAuth2.0認証をする際に、GoogleApiClient.OnConnectionFailedListener
とView.OnClickListener
のインターフェースを継承していました。
Javaの場合
1 2 3 |
|
Kotlinの場合
1 2 3 |
|
Kotlionではimplements
ワードは書かずにextends
したクラスの後ろに,
区切りで書きます。
Kotlinでキャストの書き方
Google Sign-Inを実行するために置いていたボタンをソース上で取り出すときにSignInButton
でキャストしていました。
Javaの場合
1
|
|
Kotlinの場合
1
|
|
Kotlinではas
を使ってキャストします。
KotlinでOverrideの書き方
Javaの場合
1 2 3 4 |
|
Kotlinの場合
1 2 3 |
|
Kotlinでは、@
は不要でfun
の前に書きます。
(Swiftと違って、func
とは書かないんです。)
Kotlinでメソッドの戻り値の書き方
Javaの場合
1 2 3 4 |
|
Kotlinの場合
1 2 3 |
|
『fun メソッド名(引数名: 引数の型): 戻り値の型』 と書きます。
Kotlinでswitch文の書き方
1 2 3 4 5 6 7 8 |
|
Kotlinの場合
1 2 3 4 5 6 7 |
|
Kotlinではswitch
ワードを使いません。when
を使います。
case 条件:
という書き方が条件 ->
になります。
さて、今回気になったのはこんなところです。
これからもどんどんKotlinでの書き方に慣れていきたいと思います。
因みに、今回のソースは、GitHubに上げてあります。
ご自由にお使いください。