# 下标

URL: https://caijiao.org/swift/11-advanced/06-subscript
Source: docs/swift/11-advanced/06-subscript.md
Description: 本章介绍 Swift 中下标的定义与使用，帮助开发者通过自定义下标访问集合、列表等数据结构的元素。

下标允许你通过索引语法访问自定义类型中的元素，类似数组或字典的访问方式。

## 定义语法

在类型中定义 `subscript` 关键字，实现读写操作：

```swift
struct TimesTable {
    let multiplier: Int
    subscript(index: Int) -> Int {
        return multiplier * index
    }
}
````

## 使用示例

```swift
let table = TimesTable(multiplier: 3)
print(table[5])  // 输出：15
```

## 可变下标

下标也可以设置为可读写：

```swift
struct Matrix {
    var data: [[Double]]
    subscript(row: Int, column: Int) -> Double {
        get {
            return data[row][column]
        }
        set {
            data[row][column] = newValue
        }
    }
}
```

## 总结

下标简化了自定义集合类型的元素访问，提升代码的简洁性和可读性。
