compute()의 반환 타입을 Pair<Int, String>으로 지정했다. Pair는 List나 Set처럼 파라미터화된 타입이다.
Pair를 사용해 여러 값을 반환하면 편리하지만, 이렇게 반환한 Pair로부터 원하는 부분을 얻어오는 편리한 방법도 있으면 좋겠다. 위 예제를 보면 first와 second 프로퍼티를 통해 Pair의 내용에 접근할 수 있지만, 구조 분해(destructuring) 선언을 사용하면 여러 식별자를 동시에 선언하면서 초기화할 수도 있다.
val (a, b, c) = 여러_값이_들어있는_값
이 코드는 여러 값이 들어 있는 값(객체)을 여러 컴포넌트로 분해해서 각 컴포넌트를 순서대로 대입해준다. 이 구문은 식별자를 하나만 선언하는 구문과 다르다. 구조 분해 구문에서는 (등호 왼쪽에 있는) 식별자 이름을 괄호 안에 넣어야 한다.