더북(TheBook)

 

icon_sec

36
제구조 분해 선언

함수에서 하나 이상의 아이템을 반환하고 싶다고 가정해보자. 예를 들어, 결과를 돌려줄 때 결과와 더불어 결과에 대한 다른 정보를 추가로 돌려주고 싶다면 어떻게 해야 할까?

표준 라이브러리에 있는 Pair 클래스를 쓰면 두 값을 반환할 수 있다.

Destructuring/Pairs.kt

package destructuring
import atomictest.eq

fun compute(input: Int): Pair<Int, String> =
  if (input > 5)
    Pair(input * 2, "High")
  else
    Pair(input * 2, "Low")

fun main() {
  compute(7) eq Pair(14, "High")
  compute(4) eq Pair(8, "Low")
  val result = compute(5)
  result.first eq 10
  result.second eq "Low"
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.