■ はじめに
https://dk521123.hatenablog.com/entry/2018/09/13/001546
https://dk521123.hatenablog.com/entry/2020/07/07/000000
の続き。 今回は、Kotlin特有のスコープ関数について、学ぶ。
目次
【1】with関数 【2】apply関数 【3】let関数 【4】run関数
# | 関数 | 書式 | 対象オブジェクトのアクセス方法 | 戻り値 |
---|---|---|---|---|
1 | with | with(対象オブジェクト) { 処理 } | this | ラムダの戻り値 |
2 | apply | 対象オブジェクト.apply { 処理 } | this | 対象オブジェクト |
3 | let | 対象オブジェクト.let { 処理 } | it | ラムダの戻り値 |
4 | run | 対象オブジェクト.run { 処理 } | this | ラムダの戻り値 |
【1】with関数
構文
with ([対象オブジェクト]) {
// [処理]
}
サンプル
class Person(val name: String) { var age: Int = 0 fun sayHello(): String { return "Hello, $name!!" } } // with なし var mike = Person("Mike") mike.age = 20 print(mike.age) print(mike.sayHello()) // with あり with (Person("Tom")) { age = 20 print(age) println(sayHello()) }
【2】apply関数
構文
[対象オブジェクト].apply {
// [処理]
}
【3】let関数
構文
[対象オブジェクト].let {
// [処理]
}
【4】run関数
構文
[対象オブジェクト].run {
// [処理]
}
関連記事
Kotlin ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2018/09/13/001546
Kotlin ~ 基本編 / 配列・コレクション ~
https://dk521123.hatenablog.com/entry/2020/07/07/000000
Kotlin ~ 基本編 / クラス ~
https://dk521123.hatenablog.com/entry/2020/07/23/000000