Swift - 泛型
-
简述
Swift 4 语言提供“泛型”功能来编写灵活且可重用的函数和类型。泛型用于避免重复并提供抽象。Swift 4 标准库是用泛型代码构建的。Swift 4的 'Arrays' 和 'Dictionary' 类型属于泛型集合。在数组和字典的帮助下,数组被定义为保存“Int”值和“String”值或任何其他类型。当我们使用playground运行上述程序时,我们得到以下结果 - -
泛型函数:类型参数
通用函数可用于访问任何数据类型,如“Int”或“String”。当我们使用playground运行上述程序时,我们得到以下结果 -函数 exchange() 用于交换上面程序中描述的值,<T> 用作类型参数。第一次调用函数 exchange() 以返回“Int”值,第二次调用函数 exchange() 将返回“String”值。多个参数类型可以包含在以逗号分隔的尖括号内。类型参数被命名为用户定义以了解它所持有的类型参数的用途。Swift 4 提供 <T> 作为泛型类型参数名称。但是,数组和字典等类型参数也可以命名为键、值,以标识它们属于“字典”类型。当我们使用playground运行上述程序时,我们得到以下结果 - -
扩展泛型类型
扩展堆栈属性以了解项目的顶部包含在 'extension' 关键字中。当我们使用playground运行上述程序时,我们得到以下结果 - -
类型约束
Swift 4 语言允许“类型约束”指定类型参数是否从特定类继承,或确保协议符合标准。当我们使用playground运行上述程序时,我们得到以下结果 - -
关联类型
Swift 4 允许通过关键字“关联类型”在协议定义内声明关联类型。当我们使用playground运行上述程序时,我们得到以下结果 - -
Where 条款
类型约束使用户能够定义对与泛型函数或类型相关联的类型参数的要求。为了定义关联类型的要求,'where' 子句被声明为类型参数列表的一部分。'where' 关键字紧跟在类型参数列表之后,后跟关联类型的约束、类型和关联类型之间的相等关系。当我们使用playground运行上述程序时,我们得到以下结果 -