withIndex()는 표준 라이브러리가 List에 대해 제공하는 확장 함수다. 이 함수는 컬렉션의 값을 IndexedValue라는 타입의 객체에 담아서 반환하며, 이 객체를 구조 분해할 수 있다.

    Destructuring/LoopWithIndex.kt

    import atomictest.trace
    
    fun main() {
      val list = listOf('a', 'b', 'c')
      for ((index, value) in list.withIndex()) {
        trace("$index:$value")
      }
      trace eq "0:a 1:b 2:c"
    }

    구조 분해 선언은 지역 varval에만 적용할 수 있으며, 클래스 프로퍼티를 정의할 때는 사용할 수 없다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.