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"
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.