创建一个函数,它返回整数数组的doubled值

时间:2018-04-09 17:50:15

标签: swift

我只是盯着学习swift并陷入困境。有人可以帮忙吗?

另外,如果您能为初学者提供一些关于Swift的书籍,我会很感激,因为我可以练习。在此先感谢)

1 个答案:

答案 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可能会有所不同。