我的代码如下,我希望该功能maxNumer不仅仅适用于一种类型:
var numbers3 = [3,9,23,67,34,2,7,0,1]
func maxNumer<T>(array:[T]) -> T {
var maxNumer = array[0]
for var i = 0; i < array.count-1; i++ {
if maxNumer < array[i+1] { //This line gets error as title
maxNumer = array[i+1]
}
}
return maxNumer
}
Run Code Online (Sandbox Code Playgroud)
我该怎么改变它?
你需要告诉Swift T符合Comparable协议,以便它允许<在类型的对象上使用operator T:
func maxNumer<T : Comparable>(array:[T]) -> T {
// ^^^^^^^^^^
var maxNumer = array[0]
for var i = 0; i < array.count-1; i++ {
if maxNumer < array[i+1] { //This line gets error as title
maxNumer = array[i+1]
}
}
return maxNumer
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
362 次 |
| 最近记录: |