gpt4 book ai didi

swift - 如何在 Swift 中添加两个泛型值?

转载 作者:搜寻专家 更新时间:2023-10-31 22:22:45 25 4
gpt4 key购买 nike

我正在尝试编写一个函数来对数字类型的数组求和。据我所知:

protocol Numeric { }
extension Float: Numeric {}
extension Double: Numeric {}
extension Int: Numeric {}

func sum<T: Numeric >(array:Array<T>) -> T{
var acc = 0.0
for t:T in array{
acc = acc + t
}
return acc
}

但我不知道如何在 Numeric 协议(protocol)中定义 + 运算符的行为。

最佳答案

protocol Numeric {
func +(lhs: Self, rhs: Self) -> Self
}

应该足够了。

来源:http://natecook.com/blog/2014/08/generic-functions-for-incompatible-types/

关于swift - 如何在 Swift 中添加两个泛型值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30046669/

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