【学習kotlinシリーズ】関数オブジェクト
Qiitaでことりん学習帳を発売しています!
関数オブジェクトとは
Kotlinは、関数を他の数値や文字列と同じように変数に代入したり、他の関数の引数として与えたり、関数の結果として与えることができる。関数オブジェクトとして使う時は、定義してある関数名の前に「::」をつける。
例
// 関数を定義する
fun square(i: Int): Int = i * i
fun main(args: Array<String>){
// 関数オブジェクトを代入する
val s = ::square
// 関数オブジェクトを表示する
println(s)
// 関数オブジェクトを実行する
println(s(2))
実行結果
fun square(kotlin.Int): kotlin.Int
4
関数オブジェクトを代入したsで関数が実行できていることが分かる。
関数オブジェクトの型
関数オブジェクトにも型がある。上の例のsquare関数の関数オブジェクトの型は、
(Int) -> Int
となる。square関数がInt型の引数を1つ受取り、Int型の値を返すからだ。一般的に、関数オブジェクトの型は
(引数の型1, 引数の型2, ) -> 返り値の型
が関数オブジェクトの型となる。
ディスカッション
コメント一覧
まだ、コメントがありません