본문 바로가기

Kotlin

Kotlin 스코프 함수

728x90

object itself

call chain에 속할 수 있다. / return문에도 속할 수 있다.

.also{



}

.apply{



}

.also{



}

 

lambda

value의 값을 지정하는 데에 쓸 수 있다. 그 안에서 chain operation으로 쓸 수 있다.

val numbers = mutableListOf("one", "two", "three")
val countEndsWithE = numbers.run { 
    add("four")
    add("five")
    count { it.endsWith("e") }
}

 

 

apply

context object : this

return : object itself

 

리턴이 필요없고 수신 객체 자신을 반환하는 경우 사용한다.

ex) 객체 초기화

 

val adam = Person("Adam").apply {
    age = 32
    city = "London"        
}

with

context object : this

return : lambda

 

Non-nullable이고 결과가 필요없는 경우에 사용한다.

let

context object : it

return : lambda

 

non-null인 값에만 사용한다.

  • 지정된 값이 null이 아닌 경우에 코드를 실행해야 하는 경우 -> if (객체 != null) 대신 사용할 수 있다.
getNullablePerson()?.let {
    // null 이 아닐때만 실행됩니다.
    promote(it)
}
  • 지역 변수의 범위를 제한하는 경우

 

also

context object : it

return : object itself

 

수신 객체 반환할 때 사용

ex) 프로퍼티 할당 전 데이터 유효성 검사

run

context object : this

return : lambda

 

어떤 값을 계산하거나 지역변수의 범위를 제한하기 위해 사용

 

 

 

'Kotlin' 카테고리의 다른 글

Kotlin 클래스 위임  (0) 2021.04.09
Kotlin Delegated Property  (0) 2021.04.01
Kotlin field  (0) 2021.04.01
Kotlin 지연 초기화 lateinit / by lazy  (0) 2021.04.01
Kotlin map flatmap  (0) 2021.03.31