到目前为止,我找到的答案可能是“否”,但我想知道将来是否有任何计划支持此功能。这就是Swift中的样子。
协议组成具有SomeProtocol和AnotherProtocol的形式。您可以根据需要列出任意数量的协议,并用&分隔。除了协议列表之外,协议组成还可以包含一个类类型,您可以使用该类类型来指定所需的超类。
protocol Named
{
var name: String { get }
}
protocol Aged
{
var age: Int { get }
}
func wishHappyBirthday(to celebrator: Named & Aged)
{
print("Happy birthday, \(celebrator.name), you're \(celebrator.age)!")
}
Run Code Online (Sandbox Code Playgroud)