为什么这在swift 4.2中有用?
func add<T: Numeric>(num1: T, num2: T) -> T {
return num1 + num2
}
print(add(num1: 6, num2: 6.7))
但这在swift 4.2中不起作用?
var numOne: Int = 6
var numTwo: Double = 6.7
add(num1: numOne, num2: numTwo)
这些与直接在函数中放入数字完全相同我首先将其存储在变量中然后将其传递给函数。
我想在swift 4.2中编写一个函数,可以使用Double,Int或Float中的两个,只需将它们加在一起,如何实现这一目标?
numOne
是Int
类型,因此num2
被推断为Int
。
我想你可以在调用add
之前确保两个数字是相同的类型。
对于类型Double
,Int
,Float
,你可以将它们全部转换为Double
,以防万一不丢失精度。