Swift 泛型
Swift 4语言提供了’泛型’功能,用于编写灵活且可重用的函数和类型。泛型用于避免重复和提供抽象。Swift 4标准库是用泛型代码构建的。Swift 4的’数组’和’字典’类型属于泛型集合。利用数组和字典,可以定义数组来保存’Int’值和’String’值或其他任何类型。
当我们在playground上运行上述程序时,我们得到以下结果−
通用函数:类型参数
通用函数可以用于访问任何数据类型,如 ‘Int’ 或 ‘String’。
当我们使用playground运行上面的程序时,我们会得到以下结果:
函数exchange()用于交换值,该函数在上述程序中进行了描述,而
类型参数被命名为用户定义的参数名,以了解类型参数所持有的目的。Swift 4提供了
运行上述程序在playground中,我们得到以下结果-
扩展一个通用类型
通过使用“extension”关键字,扩展堆栈属性以知道顶部的项目是否包含在内。
当我们在playground中运行以上程序时,我们会得到以下结果 −
类型约束
Swift 4语言允许使用“类型约束”来指定类型参数是否继承自特定类,或确保遵循协议标准。
当我们使用playground运行上述程序时,我们得到以下结果:
关联类型
Swift 4 允许通过关键字 ‘associatedtype’ 在协议定义中声明关联类型。
当我们在playground中运行上述程序时,我们会得到以下结果:
Where子句
类型约束使用户能够对与泛型函数或类型相关的类型参数定义要求。为了定义与关联类型相关的要求,’where’子句被声明为类型参数列表的一部分。’where’关键字紧跟在类型参数列表后面,约束关联类型与类型之间的相等关系。
运行上述程序时,使用playground,我们得到以下结果-