我是swift的新手,并尝试实现一个简单的函数,该函数将最小和最大数量作为输入,并返回一个数组中包含所有数字的数组。我收到了一个错误 //错误:引用泛型类型'数组'需要< ...>中的参数 我可以知道自己错过了什么吗?
func serialNumberLimits(minimumNumber n1:Int, maximumNumber n2:Int) -> Array {
// Initialized an empty array
var array = Int[]()
//Initialized a "Temp" variable
var temp:Int = 0
for index in n1..n2 {
temp += n1
n1++
if index == 1 { array.insert(temp, atIndex: 0) }
else { array.insert(temp, atIndex: index-1) }
}
return array
}
答案 0 :(得分:5)
使用以下功能
1)当您在函数中使用n1
并更改其值时,请将其声明为var
,因为默认情况下swift中的所有参数均为constants
2)使用Array<Int>
因为它需要定义swift中的数据类型.Swift是强类型语言所以需要定义所有类型。
运行以下代码,它将编译时没有错误
func serialNumberLimits(var minimumNumber n1:Int, maximumNumber n2:Int) -> Array<Int> {
// Initialized an empty array
var array = Int[]()
//Initialized a "Temp" variable
var temp:Int = 0
for index in n1..n2 {
temp += n1
n1++
if index == 1 { array.insert(temp, atIndex: 0) }
else { array.insert(temp, atIndex: index) }
}
return array
}