为什么在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中的两个,然后将它们加在一起,怎么做到这一点?
答案 0 :(得分:0)
numOne
是Int
类型,因此将num2
推断为Int
。
我认为您可以在致电add
之前确保两个数字的类型相同。
对于类型Double
,Int
,Float
,您可以将它们全部转换为Double
,以防丢失精度。