[swift] 서브스크립트

서브스크립트의 기본 형식

서브스크립트는 subscript 키워드로 정의되며, 해당 유형이 인덱싱될 때 반환될 값의 유형을 나타내는 것으로 시작합니다. 이어서 하나 이상의 매개변수를 사용하여 서브스크립트의 입력 값을 정의합니다.

subscript(index: Int) -> Int {
    // 서브스크립트 구현
    get {
        // 값을 반환하는 코드
    }
    set(newValue) {
        // 값을 설정하는 코드
    }
}

위의 예제는 하나의 정수 매개변수를 사용하여 서브스크립트를 정의하고 있습니다. get 블록은 해당 인덱스에 저장된 값을 반환하고, set 블록은 해당 인덱스에 값을 할당합니다.

예제

다음은 서브스크립트의 간단한 예제입니다.

struct TimesTable {
    let multiplier: Int
    subscript(index: Int) -> Int {
        return multiplier * index
    }
}

let threeTimesTable = TimesTable(multiplier: 3)
print("6 곱하기 3은 \(threeTimesTable[6])") // "6 곱하기 3은 18" 출력

위의 예제에서 TimesTable 구조체는 서브스크립트를 사용하여 해당 구조체를 인덱싱했을 때 곱셈 결과를 반환합니다.

서브스크립트를 활용하면 클래스, 구조체 또는 열거형에서 사용자 정의 컬렉션과 비슷한 문법을 사용할 수 있으며, 직관적인 인덱싱 및 할당을 지원합니다.

참조: The Swift Programming Language - Subscripts