swift 泛型
2015-06-24 22:26
399 查看
泛型
在尖括号里写一个名字来创建一个泛型函数或者类型。func repeat<ItemType>(item: ItemType, times: Int) -> [ItemType] {
var result = [ItemType]()
for i in 0..<times {
result.append(item)
}
return result
}
repeat("knock", 4)
你也可以创建泛型类、枚举和结构体。
enum OptionalValue<T> {
case None
case Some(T)
}
var possibleInteger: OptionalValue<Int> = .None
possibleInteger = .Some(100)
在类型名后面使用
where来指定对类型的需求,比如,限定类型实现某一个协议,限定两个类型是相同的,或者限定某个类必须有一个特定的父类
func anyCommonElements <T, U where T: SequenceType, U: SequenceType, T.Generator.Element: Equatable, T.Generator.Element == U.Generator.Element> (lhs: T, rhs: U) -> Bool {
for lhsItem in lhs {
for rhsItem in rhs {
if lhsItem == rhsItem {
return true
}
}
}
return false
}
简单起见,你可以忽略
where,只在冒号后面写协议或者类名。
<T: Equatable>和
<T where T: Equatable>是等价的。
相关文章推荐
- swift 2特性记录
- apple watch中利用swift实现多种语言,国际化Localizable
- Swift 首页导航 图片滑动
- swift 的关健词
- swift 源码网站 code4app
- Swift语言学习(四)字符串与Array等集合的使用
- swift基本语法
- Swift小功能点积累
- Swift webView 记录提取cookies 自动登陆
- [翻译]使用Swift在Xcode中创建自定义控件
- 2.Swift快速浏览
- Swift 2.0
- Swift 2 if case 用法
- 无限滚动相册切换swift版
- swift版本hello
- 1.关于Swift
- 对象存储系统Swift技术详解:综述与概念
- Swift函数
- Swift运算符
- Swift介绍