Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Wook No.1

Scope Functions(let, with, run apply, also) 본문

Kotlin

Scope Functions(let, with, run apply, also)

Wook No.1 2021. 6. 23. 19:02

객체를 사용할 때 Scope(범위, 영역) 생성하여 속성이나 함수를 처리하는 용도로 사용되는 함수

 

https://kotlinlang.org/docs/scope-functions.html#takeif-and-takeunless

 

Scope functions | Kotlin

 

kotlinlang.org

 

1. let

T의 확장함수이기 때문에 non-null 일 때에만 실행할 수 있다.

let 함수를 사용하면 객체의 상태를 변경할 수 있다.

fun <T, R> T.let(block: (T) -> R): R
Person("Alice", 20, "Amsterdam").let {
    println(it)
    it.moveTo("London")
    it.incrementAge()
    println(it)
}

 

2. with

fun <T, R> with(receiver: T, block: T.() -> R): R

 

3. run

확장함수이기 때문에 non-null 일 때에만 실행할 수 있다

T.()

fun <T, R> T.run(block: T.() -> R): R

 

4. apply

블럭에서 return 값을 받지 않으며 자기 자신인 T를 반환

fun <T> T.apply(block: T.() -> Unit): T
val adam = Person("Adam").apply { 
    age = 20
    city = "London"
}

 

5. also

fun <T> T.also(block: (T) -> Unit): T

'Kotlin' 카테고리의 다른 글

코루틴, Coroutine  (0) 2021.05.24
Comments