需要澄清 Swift 中的类型别名语法
Need clarification on typealias syntax in Swift
谁能解释一下为什么在下面的例子中,typealias "Generator" 后面有一个“:”?是说 "Generator" 符合 "GeneratorType" 吗?我很困惑,因为当我阅读 Swift 文档时,它只在别名后描述了一个“=”符号。
protocol SequenceType : _Sequence_Type {
typealias Generator : GeneratorType
func generate() -> Generator
}
在协议中,typealias
声明了一个 associated type。 类 和符合此协议的结构必须有一个 typealias
指令,该指令将类型声明为具体的东西。
是的,这意味着 Generator
在 SequenceType
协议的任何实现中都必须符合 GeneratorType
。
谁能解释一下为什么在下面的例子中,typealias "Generator" 后面有一个“:”?是说 "Generator" 符合 "GeneratorType" 吗?我很困惑,因为当我阅读 Swift 文档时,它只在别名后描述了一个“=”符号。
protocol SequenceType : _Sequence_Type {
typealias Generator : GeneratorType
func generate() -> Generator
}
在协议中,typealias
声明了一个 associated type。 类 和符合此协议的结构必须有一个 typealias
指令,该指令将类型声明为具体的东西。
是的,这意味着 Generator
在 SequenceType
协议的任何实现中都必须符合 GeneratorType
。