因为协议可以作为类型使用,可以把遵守相同协议的实例放到一个协议类型的数组中
例如 在以往定义一个数组
let array = [1,2,3,"4"] //这种定义一个数组肯定会报错
解决的一种办法
let array = [1,2,3,"4"] as [Any]
也可以让数组中元素都遵守同一个协议,组成一个相同协议的数组
let array1:[CustomStringConvertible] = [1,2,3,"4"]
因为整数 和 字符串 类型 都遵守 CustomStringConvertible 协议
for element in array1 {
print(element)
}