기타/What I Learned

[TIL] Kotlin - with() 활용

가죽방패 2022. 2. 22. 13:20

※ with() 활용하기

- 인자로 받는 객체를 이어지는 block의 receiver로 전달하며 결과값을 반환한다

- run() 함수와 기능이 유사하지만 run은 receiver가 없고 with에서는 receiver로 전달할 객체를 처리 한다는 차이가 있다

//표준 함수의 정의
public inline fun <T, R> with(receiver: T, block: T.() -> R): R = receiver.block()

with는 세이프 콜(?.)을 지원하지 않아 다음과 같이 let을 사용해야 한다

supportActionBar?.let {
	with(it) {
    	......
        ......
    }
}

※ let과 with 표현 병합

- run과 동일하다

supportActionBar?.run {
	.....
    .....
}

'기타 > What I Learned' 카테고리의 다른 글

[TIL] Kotlin - 기타 표준 함수  (0) 2022.02.28
[TIL] Kotlin - use()  (0) 2022.02.27
[TIL] Kotlin - run()  (0) 2022.02.21
[TIL] Kotlin - apply()  (0) 2022.02.20
[TIL] Kotlin - also()  (0) 2022.02.19