Swift编程:泛型、OptionSet与JSON处理全面解析
1. 泛型基础
泛型是类型的占位符,能让你编写灵活的代码,可应用于多种类型。与使用 Any 相比,泛型能让编译器实施强类型安全检查。泛型占位符用尖括号 <> 定义。
1.1 泛型函数
泛型占位符放在函数名之后。例如:
/// Picks one of the inputs at random, and returns it
func pickRandom<T>(_ a:T, _ b:T) -> T { return arc4random_uniform(2) == 0 ? a : b }
在调用函数时,Swift能推断出 T 的类型。如:
let randomOutput = pickRandom(5, 7) // returns an Int (that's either 5 or 7)
由于泛型提供了强类型安全,函数的参数和返回值必须是相同类型,否则编译会出错。
1.2 泛型类型
在类、结构体或枚举中使用泛型时,泛型占位符定义在类型名之后。例如:
class Bar<T> {
var baz : T
ini
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



