什么是扩展

扩展用于扩展 Swift 中现有类型的功能。扩展可以添加下标,函数,初始值设定项和计算属性。它们还可以使类型符合协议

假设你希望能够计算 Int阶乘 。你可以在扩展中添加计算属性:

extension Int {
    var factorial: Int {
        return (1..<self+1).reduce(1, combine: *)
    }
}

然后,你可以访问该属性,就像它已包含在原始 Int API 中一样。

let val1: Int = 10

val1.factorial  // returns 3628800