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に上げてあります。
ご自由にお使いください。