Swift-类型约束
来源:互联网 发布:淘宝金币换流量 编辑:程序博客网 时间:2024/06/07 02:36
//***********************************
//
//类型约束
//指必须继承指定的类或者遵循特定的协议
//语法:
// funcsomeFunc<T: SomeClass, U: SomeProtocol>(someT: T, someU: U){}
//表示函数有两个参数someT和someU,类型分别是T和U,其中T是SomeClass子类,U遵循SomeProtocol
//
//***********************************
//先看非泛型的函数:
func findStringIndex(array: [String], valueToFind:String)-> Int? {
for (index, value) inenumerate(array) {
if value == valueToFind {
return index
}
}
return nil
}
let strings = ["aa","bb","cc","dd","ae"]
ifletfoundIndex = findStringIndex(strings,"aa"){
println("found!")
}
//转换为泛型后,类型T需要遵循Equatable协议(该协议要求所有遵循的类型都实现等式==和不等式!=)
func findIndex<T: Equatable>(array: [T], valueToFind:T)-> Int? {
for (index, value) inenumerate(array) {
if value == valueToFind {
return index
}
}
return nil
}
let doubleIndex =findIndex([1.23,2.11,12.44,1.00],1.0) //{Some 3}
let stringIndex =findIndex(["aa","bb","cc"],"dd") //nil
- Swift-类型约束
- Swift 泛型函数 类型约束(十三)
- Swift 约束
- 类型约束
- 类型约束
- 类型约束
- Swift 代码添加约束
- Swift NSLayoutConstraint 加约束Constraint
- 约束动画如何实现?(swift)
- Swift使用代码进行约束
- Oracle Constraint_type,约束类型
- Oracle Constraint_type,约束类型
- Oracle Constraint_type,约束类型
- 完整性约束的类型
- DTD 类型约束文件
- PHP的类型约束
- 80. PHP 类型约束
- oracle数据库约束类型
- 有没有什么自然科学理论瞬间击中你以至于改变了你的价值观?
- 使用Storm实现实时大数据分析!
- Android 实现个性的ViewPager切换动画 实战PageTransformer(兼容Android3.0以下)
- rpm最全网站
- 加密基础
- Swift-类型约束
- 程序猿的情书
- 使用gyp构建项目,使用ninja更快的编译,以及使用出现和解决的问题记录
- 一、C语言概述
- win7设置热点
- TimesTen学习系列之一:TT的迁移和备份
- 面向对象第十八课,回调的实现,模板方法模式
- UVA 784-Maze Exploration(dfs)
- iOS 面向对象思想之封装