【发布时间】:2015-07-09 18:03:34
【问题描述】:
我想编写一个通用函数,它将返回它的两个参数之和,如下所示:
func add<T: ???>(left: T, right: T) -> T {
return left+right
}
当然,为了使用+运算符,T类型需要符合定义+运算符的协议。
如果是其他几个运算符,则有内置协议 - 例如Equatable 用于==,Comparable 用于<、> 等。这些协议被所有 Swift 内置的“算术”类型所采用,例如 Double、Float、Int16 等。
是否有定义+、-、*、/ 运算符的标准协议,它被所有“算术”类型(如 Double、Float、Int、UInt、Int16 等)采用?
【问题讨论】:
-
你正在做的正是如何去做。目前尚不清楚您要寻找什么答案;你的问题不是真正的问题,更像是一个呻吟......
-
为什么
Double应该符合IntegerArithmeticType? Double 可以表示不是 Integer 的东西。 -
您能否改进或删除这个问题? -> stackoverflow.com/help/how-to-ask
-
题主有什么问题?他在问是否有更好的方法。
-
好的,我重写了这个问题,让它更清楚。