如何在Swift 4中创建一定大小的数组?

Bob*_*b S 5 arrays swift

斯威夫特让一些最简单的事情变得如此艰难.如何制作一个简单的1000个浮点阵列?

我试试这个:

var computeArray = Array<Float>(repeating: nil, count:1000)
Run Code Online (Sandbox Code Playgroud)

得到"没有更多上下文的表达类型是模棱两可的"我也试过这个并得到了相同的东西:

var computeArray = [Float](repeating: nil, count:1000)
Run Code Online (Sandbox Code Playgroud)

这很简单,但我不能让它工作.这些与我在网上找到的例子基本相同.最新的Swift(4)有什么变化吗?

谢谢

Bil*_*lal 9

试试这个.

var computeArray: Array<Float> = Array(repeating: 0, count: 1000)
Run Code Online (Sandbox Code Playgroud)

或者与nils

var computeArray: Array<Float?> = Array(repeating: nil, count: 1000)
Run Code Online (Sandbox Code Playgroud)

  • @BenShabat“重复”关键字为计数元素设置相同的值 (2认同)

Nil*_*wal 5

Swift 是一种类型安全的语言。这本质上意味着您不能将其他类型的值(此处nil)存储在特定类型的变量/常量(此处Float)中。

因此,如果您想在数组中存储 nil 值,请将其元素类型声明为可选(此处Float?)。

var computeArray = [Float?](repeating: nil, count:1000)
Run Code Online (Sandbox Code Playgroud)

或者

var computeArray = Array<Float?>(repeating: nil, count:1000)
Run Code Online (Sandbox Code Playgroud)