我只是盯着学习swift并陷入困境。有人可以帮忙吗?
另外,如果您能为初学者提供一些关于Swift的书籍,我会很感激,因为我可以练习。在此先感谢)
答案 0 :(得分:1)
已经有这样的功能。它叫做地图。它需要一个闭包,它将源数组的每个元素作为输入,并返回一个新值以在输出数组中使用。
let ints = [1, 3, 5, 7, 9, 23, 57]
let doubled = ints.map { return $0 * 2 }
或者,你可以编写自己的函数,它接受一个int数组并返回另一个Ints数组:
func doubledInts(_ array: [Int]) -> [Int] {
var output = [Int]()
for value in array {
output.append(value *2)
}
return output
}
你也可以变得更加漂亮,并使你的函数使用Generics来获取任何标量值(Int和它的变体,如Int32,UInt32,Int8,加上Double,Float等)并返回相同类型的数组,但是如果你还不了解函数的基础知识,那么泛型将会超越你的想法。
我从Apple iBook“The Swift Programming Language”中学到了Swift。我发现它非常有用,但你的milage可能会有所不同。