Kotlin

Qiitaでことりん学習帳を発売しています!

カスタムゲッター

カスタムゲッターは、クラス内にある他のプロパティの情報を取得するためのプロパティ。カスタムゲッターにしたいプロパティの直後にget()という関数名で定

Kotlin

Qiitaでことりん学習帳を発売しています!

クラスを作る

他の言語と変わりがないため、ほぼ例だけで〆る。クラスはプロパティとメソッドを持つことができる。オブジェクトとは異なり、クラスは作成した段階でクラス名と同じ名前の型が ...

Kotlin

メソッドの定義を必須にするためにインターフェースを定義したが、変数も同様にプロパティとして定義を必須にできる。定義の仕方はメソッドと同様に、インターフェースの中に変数を定義すればいい。前回のインターフェースのコードにプロパティを追加す ...

Kotlin

Qiitaでことりん学習帳を発売しています!

インターフェースとは

インターフェースとは、「オブジェクトがどのようなメソッドを持っているか」を定義するもの。あるオブジェクトがそのインターフェースを使って定義すると、

Kotlin

オブジェクトを作るって

文字列やリスト、マップなどKotlinにははじめから用意されているオブジェクトがたくさんある。が、オブジェクトを自分で作ることもできる。
しかもとても簡単に。object{}の中に変数や関数を入れてあげれ ...

Kotlin

Qiitaでことりん学習帳を発売しています!

無名関数とは

無名関数とはその名の通り、名前をつけない関数のこと。ラムダ関数のように使える。違う点は、無名関数はreturn文が必要。だが省略記法もある。

//ラムダ式va ...

Kotlin

Qiitaでことりん学習帳を発売しています!

Golangでのクロージャの通り、「ローカル変数内を参照している関数内の関数」のこと。相変わらずわかりづらい説明なので、実例で。

実際に書いてみる//クロージャfun c ...

Kotlin

Qiitaでことりん学習帳を発売しています!

ラムダ関数とは

ラムダ関数とは、関数を定義して関数オブジェクトを生成するのではなく、関数オブジェクトを直接生成する機能。定義の仕方は以下の例の通り。

//標準的なラムダ関数 ...

Kotlin

Qiitaでことりん学習帳を発売しています!

高階関数とは

高階関数とは、関数を引数として受け取ったり、返り値として関数を返したりする関数のこと。同じような機能を持った関数を複数書いてしまう場合に、共通する部分は抽象的に一つ ...

Kotlin

Qiitaでことりん学習帳を発売しています!

関数オブジェクトとは

Kotlinは、関数を他の数値や文字列と同じように変数に代入したり、他の関数の引数として与えたり、関数の結果として与えることができる。関数オブジェクトとして ...

Kotlin

Qiitaでことりん学習帳を発売しています!

Not 値を返さない関数

ただprintするだけの関数など、特に値を返さない関数があるが、KotlinではUnitと呼ばれる型を明記はしていないものの返している。
Uni ...

Kotlin

Qiitaでことりん学習帳を発売しています!

ローカル関数とは

ローカル関数とは関数内に設置する関数のこと。ローカル関数の使い所は、その関数内でしか使わないような関数など、スコープを制限したい時に使う。

ローカル関数の ...

Kotlin

Qiitaでことりん学習帳を発売しています!

可変長の引数の定義の仕方

可変長の引数は、引数名の前に vararg をつけて以下のように定義する。

fun 関数名(vararg 引数名: 引数の型): 返り値の型 {} ...

Kotlin

Qiitaでことりん学習帳を発売しています!

引数名を指定すれば引数の順番が異なっても問題ないし、デフォルトの引数も指定できる。
他の言語を触ったことのある人であれば目新しさは特にないので、さらっと。

実際に ...

Kotlin

Qiitaでことりん学習帳を発売しています!

Kotlinでの関数の定義の方法は2つあり、一つは簡単なワンライナーで各方法と、もう一つは一般的な文を含む関数の定義の方法。

ワンライナーの定義の方法は次