まじごみ日記

パチスロ・アニメ・特撮好きの日記です。最近の趣味は筋トレ。

Kotlinについて調べてみた

第一回

今日からはじめる、「毎日何かを調べてみる」。

薄い知識を広く身につけていく試み。

 

いきなり張り切ってすぐやめてしまうのは避けたいので、とりあえず1時間という制限を設けて、時間内で出来る範囲でやってみようと思う。

調べたりないことは、翌日以降のネタにする。

 

今日はとりあえず「Kotlin」というキーワードから、気になったことを調べようと思う。

 

Kotlinとは

 

特徴

Javaとの相互利用ができる

KotlinからJavaコードを呼び出す、JavaからKotlinのコードを呼び出す、ということが簡単にできるみたい。

※voidを返すJavaメソッドはKotlinから呼ばれるとUnitを返す、みたいな、

言語仕様の違いによる読み替えが発生するみたい。

 

コードが簡潔

  • トップレベルに関数を定義できる
  • 型の指定は不要
  • セミコロンなど省略可能

など。

 

Null安全

NullPointerExceptionを起こさないような仕組みのこと。

Kotlinでは、型指定時に「非Null型」「Null許容型」を分けて宣言する。

 

■非Null型の例

var a:String = "AAA"

a = null

コンパイルエラーになる

 

■Null許容型の例

var a:String? = "AAA"

a = null

コンパイルエラーにならない

 

こうしてNull許容の有無を明確に宣言することで、「もしかしたらNullかも」という不要なケースを想定したコードの記載が不要になる。

 

String型とString?型は別もので、String型にString?型を代入することはできない。

String型にString?型の子クラスみたいな扱いで、String?型にString型を代入する分には問題ない。

 

調べ足りないこと

  • Kotlinの特徴(続き)
  • Javaとの違い
  • 他のJVM言語について(Scala、Groovyなど)
  • 静的型付けの言語って?他に何があって、何が違うの?

 

1時間じゃあまり調べられなかったけど、これ以上やっても続かなそうなので明日もこんな調子でちょっとずつ調べて行こうと思う。

あと、ソースコードとかをエディタ風に書く方法とか、ブログを書くためのノウハウ的なことも知りたい。

 

とりあえず、お腹すいた。。

 

今日の日記

上京してからすぐに買った自転車を今日捨てた。

もう9年も前に1万円で買った自転車なので、よく頑張ったものである。

f:id:majigomi:20190715190247j:plain

 

先日パンクの修理に持っていったところ、タイヤがもう限界で前輪、後輪共に交換しないと無理だそうで、買い替えを勧められた。

カゴもボロボロだったし、1万近く修理代を掛けてまで思えなかったので、素直に買い換えることにした。

 

新しい自転車はこちら。

f:id:majigomi:20190715190351j:plain

一番安いやつじゃなく、プラス千円くらいでカゴが丈夫そうなやつにした。

16,700円で予定外の手痛い出費となったが、満足。

(ギア切り替えは、壊れそうでちょっと心配)

 

休みの日に晴れたら、ちょっと遠出したい。