-
영역함수 (apply, also, let)언어/Kotlin 2022. 3. 19. 13:56반응형영역함수를 잘 사용하면 [변수의 스코프를 최소화] 하는데 도움이 된다.[변수의 스코프를 최소화하라]
1. apply
객체를 사용하기 전 생성자만으로는 할 수 없는 초기화 작업을 할 때 사용
val numbers = mutableListOf(1, 2, 3).apply { this.add(4) this.add(5) }.toList()
2. also
코드 흐름을 방해하지 않고 메세지를 출력하거나 다른 부수 효과를 생성
val book = createBook() .also { println(it) } .also { Logger.info(it) } // book에 대입되는 값은 아래와 동일하다. val book = createBook()
3. let
함수로 반환 받은 값이 null인지 체크해야할 경우 사용
// let을 사용 fun getBankName(): String? { val bank: Bank? = BankDao.getBank(ids = listOf(id)) val bankName: String? = bank?.let { it.name } return bankName } // if를 사용 fun getBankName(): String? { val bank: Bank? = BankDao.getBank(ids = listOf(id)) val bankName: String? = if (bank != null) { bank.name } else { null } return bankName }
반응형'언어 > Kotlin' 카테고리의 다른 글
[Kotlin In Action] 로컬 함수와 확장 (0) 2022.04.25 [Kotlin In Action] 선택 표현과 처리 when (0) 2022.04.23 함수 리턴의 표현 Unit과 Nothing (0) 2022.03.17 lateinit 사용하기 (0) 2022.03.17 [EffectiveKotlin] 예외를 활용해 코드에 제한을 걸어라 (0) 2022.03.17