Swift编程中的类型扩展与通用类型解析
1. 字符串与数组的特性
字符串(String)只能由字符(Characters)组成,这意味着只有字符序列才能与字符串拼接,而像整数序列则不行。示例代码如下:
var s = "hello"
s.append(contentsOf: " world".characters) // "hello world"
数组(Array)的 append(contentsOf:) 方法声明有所不同:
mutating func append<S : Sequence>(contentsOf newElements: S)
where S.Iterator.Element == Element
数组可以由任何类型的元素组成,但只能是同一种类型。数组是一个泛型结构体,其 Element 占位符代表元素的类型。这一约束规定,你可以将任何序列的元素追加到数组中,但前提是这些元素与数组中的元素类型相同。例如,如果数组由字符串元素组成,你可以添加更多字符串元素,但不能添加整数元素。
2. 扩展(Extensions)的概念与规则
扩展是将自己的代码注入到已在其他地方声明的对象类型中的一种方式,即扩展现有对象类型。你可以扩展自己的对象类型,也可以扩展Swift或Cocoa的对象类型,为不属于你的类型添加功能。
扩展声明只能在文件的顶层进行
超级会员免费看
订阅专栏 解锁全文
7

被折叠的 条评论
为什么被折叠?



