gpt4 book ai didi

swift - 无故使用泛型

转载 作者:行者123 更新时间:2023-11-28 12:18:47 26 4
gpt4 key购买 nike

我正盯着一个前同事的代码(在一个扩展上)看起来像这样:

func set<Object: SomeProtocol>(object value: Object) {

与普通老版本相比,带泛型的签名有什么优势?

func set(object value: SomeProtocol) {

最佳答案

作为一种模式,您前同事的版本更灵活,因为它应该适用于任何类型的协议(protocol)。例如,具有关联类型的协议(protocol)将不适用于您的版本:

// error: protocol 'Equatable' can only be used as a generic constraint because it has Self or associated type requirements
func foo(bar: Equatable) {}

关于swift - 无故使用泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45515008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com