# 扩展（Extensions）

URL: https://caijiao.org/swift/11-advanced/02-extensions
Source: docs/swift/11-advanced/02-extensions.md
Description: 本章介绍 Swift 中扩展（Extensions）的用法，帮助开发者为已有类型添加新功能，增强代码灵活性。

扩展允许你为现有的类、结构体、枚举或协议添加新的功能，而无需修改原始代码。

## 基本语法

```swift
extension 类型名 {
    // 新增方法或属性
    func newMethod() {
        print("这是一个扩展方法")
    }
}
````

## 示例代码

```swift
extension String {
    func reversedString() -> String {
        return String(self.reversed())
    }
}

let greeting = "Hello"
print(greeting.reversedString())  // 输出：olleH
```

## 扩展的功能

* 添加计算型属性和计算型静态属性
* 定义实例方法和类型方法
* 提供新的构造器
* 定义下标
* 使已有类型遵循协议

## 注意事项

扩展不能添加存储属性。

## 总结

扩展为类型增加功能，增强代码复用和组织能力，是 Swift 编程的重要工具。
