我正在使用Generics添加不同的类型,如Int,Double,Float等.我使用下面的代码,但我得到错误“二元运算符”不能应用于两个’T’操作数”.
func add<T>(num1: T,num2: T) -> T { return num1 + num2 }
Swift不知道泛型类型T有一个”运算符.您不能使用任何类型:例如在两个视图控制器上没有太多意义
您可以使用协议一致性让swift了解您的类型!
我在操场上去了,这可能就是你要找的:)
protocol Addable { func +(lhs: Self,rhs: Self) -> Self } func add<T: Addable>(num1: T,_ num2: T) -> T { return num1 + num2 } extension Int: Addable {} extension Double: Addable {} extension Float: Addable {} add(3,0.2)
如果您需要在此解释的任何概念,请告诉我