作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试编写一个函数来对数字类型的数组求和。据我所知:
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/
我是一名优秀的程序员,十分优秀!