Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 创建一个函数,返回整数数组的双倍值_Swift - Fatal编程技术网

Swift 创建一个函数,返回整数数组的双倍值

Swift 创建一个函数,返回整数数组的双倍值,swift,Swift,我刚刚开始学习swift,并被函数所困扰。有人能帮忙吗 另外,如果你能给我推荐一些关于Swift的书给初学者,让我做一些简单的练习,我将不胜感激。(提前感谢)已经有这样的功能了。这叫地图。它接受一个闭包,该闭包将源数组的每个元素作为输入,并返回一个新值以在输出数组中使用 let ints = [1, 3, 5, 7, 9, 23, 57] let doubled = ints.map { return $0 * 2 } 或者,您可以编写自己的函数,该函数接受一个int数组并返回另一个int数

我刚刚开始学习swift,并被函数所困扰。有人能帮忙吗


另外,如果你能给我推荐一些关于Swift的书给初学者,让我做一些简单的练习,我将不胜感激。(提前感谢)

已经有这样的功能了。这叫地图。它接受一个闭包,该闭包将源数组的每个元素作为输入,并返回一个新值以在输出数组中使用

let ints = [1, 3, 5, 7, 9, 23, 57]

let doubled = ints.map { return $0 * 2 }
或者,您可以编写自己的函数,该函数接受一个int数组并返回另一个int数组:

func doubledInts(_ array: [Int]) -> [Int] {
  var output = [Int]()
  for value in array {
     output.append(value *2)
  }
  return output
}
你也可以变得更花哨,让你的函数使用泛型来获取任何标量值(Int及其变体,如Int32、UInt32、Int8、Double、Float等)并返回一个相同类型的数组,但是如果你还不了解函数的基本知识,那么泛型就太离谱了


我从Apple iBook“Swift编程语言”中学习了Swift。我发现它非常有用,但您的理解可能会有所不同。

要更改数组的值,您必须使用循环或
map
函数(有关后者的更多详细信息,请参阅)。对于初学者,我不建议使用
map()
。我建议使用for循环来帮助学习基本算法。就像@Larme所说的,我也不建议从
.map
开始,因为当你不熟悉基本知识时,很难理解它的逻辑。