Vintage appMaker의 Tech Blog

[kotlin] let, also의 활용 본문

Source code or Tip/Android(Java, Kotlin)

[kotlin] let, also의 활용

VintageappMaker 2021. 2. 9. 10:07

- let, also는 kotlin에서 자주 사용되는 함수이다.

- ?. 연산자를 이용하여 null check를 편리하게 처리한다.

- 주로 지역변수의 사용과 if문을 최소화하여 무결점 코드를 만들기 위해 사용된다. 

- let의 경우, 연산된 값으로 return이 가능하다. 

- also의 경우, 파라메터로 받은 값을 그대로 return 한다. 

// let은 연산된 값으로 return 할 수 있고
// also는 파라메터로 받은 값을 그대로 return 한다.
fun main(args: Array<String>) {
    normalStyle()
    funcionalStyle()
}

private fun normalStyle() {
    val animals = "고양이 까치 개 쥐 독수리"
    val lstAnimals = animals.split(" ")
    println("-------------");
    println("log 출력:")
    lstAnimals.forEach { println(it) }
    println("-------------");

    val nIndx = lstAnimals.indexOf("독수리")
    if (nIndx > 0) {
        println("독수리는 ${nIndx} index에 있습니다.")
    }
}

// 필요한 변수는 함수내부에서만 쓰고
// if문을 최소화 한다
// "변수와 if문을 최소화하여 예외를 없앤다". ← 함수형 프로그래밍적 사고
private fun funcionalStyle() {
    var animals = "고양이 까치 개 쥐 독수리"
    animals.split(" ")
            .also { items ->
                println("-------------");
                println("log 출력:")
                items.forEach { println(it) }
                println("-------------");
            }
            .let { items ->
                var indx = items.indexOf("독수리")
                if (indx < 0) null else indx
            }
            ?.let { println("독수리는 ${it} index에 있습니다.") }
}

결과 

-------------
log 출력:
고양이
까치
개
쥐
독수리
-------------
독수리는 4 index에 있습니다.
-------------
log 출력:
고양이
까치
개
쥐
독수리
-------------
독수리는 4 index에 있습니다.

📢 online IDE - web으로 코드실행

 

Kotlin Playground: Edit, Run, Share Kotlin Code Online

 

play.kotlinlang.org

 

Comments