关于协议组合,swift 中的“&”和“,”有什么区别
What is difference between '&' and ',' in swift about Protocol Composition
我有一个问题
在swift,
class Card : Equatable & CustomStringConvertible
和
class Card : Equatable, CustomStringConvertible
我认为他们在做同样的事情。
有什么不同??
根据 protocols 上的 Swift 文档,我认为 &
主要用于 需要 一个变量采用多个协议,例如:
func wishHappyBirthday(to celebrator: Named & Aged) {
print("Happy birthday, \(celebrator.name), you're \(celebrator.age)!")
}
当你想采用自定义struct/class到多个协议时,你可以使用,
:
struct SomeStructure: FirstProtocol, AnotherProtocol {
// structure definition goes here
}
我有一个问题
在swift,
class Card : Equatable & CustomStringConvertible
和
class Card : Equatable, CustomStringConvertible
我认为他们在做同样的事情。 有什么不同??
根据 protocols 上的 Swift 文档,我认为 &
主要用于 需要 一个变量采用多个协议,例如:
func wishHappyBirthday(to celebrator: Named & Aged) {
print("Happy birthday, \(celebrator.name), you're \(celebrator.age)!")
}
当你想采用自定义struct/class到多个协议时,你可以使用,
:
struct SomeStructure: FirstProtocol, AnotherProtocol {
// structure definition goes here
}