在swift中实现函数
我是swift的新手,试图实现一个简单的函数,它将最小和最大数字作为input,并返回一个数组,其中所有数字都在极限内。 我得到一个错误//错误:引用genericstypes'数组'需要在<…>中的参数可能我知道我缺less什么?
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 }
使用以下function
1)因为你在函数中使用n1
并且改变它的值,所以把它声明为var
因为所有的参数都是默认的constants
2)使用Array<Int>
因为它需要定义swift中的数组types。Swift是强types语言,所以需要定义所有types。
运行下面的代码,它会编译没有错误
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 }