如何在Swift中创建具有递增值的数组?

如何在Swift中创建具有递增值的数组?,swift,Swift,我知道我可以使用以下方法在Swift中创建具有重复值的数组: var myArray = [Int](count: 5, repeatedValue: 0) 但是有没有一种方法可以创建一个具有递增值的数组,比如[0,1,2,3,4],而不是执行循环,比如 var myArray = [Int]() for i in 0 ... 4 { myArray.append(i) } 我知道代码非常简单、可读且防弹,但感觉应该能够在创建数组时以某种方式将某些函数传递给数组,以提供递增的值。它可

我知道我可以使用以下方法在Swift中创建具有重复值的数组:

var myArray = [Int](count: 5, repeatedValue: 0)
但是有没有一种方法可以创建一个具有递增值的数组,比如
[0,1,2,3,4]
,而不是执行循环,比如

var myArray = [Int]()
for i in 0 ... 4 {
    myArray.append(i)
}

我知道代码非常简单、可读且防弹,但感觉应该能够在创建数组时以某种方式将某些函数传递给数组,以提供递增的值。它可能不值得在可读性或计算效率方面付出代价,但我还是很好奇。

使用
符号/运算符:

let arr1 = 0...4
这将为您提供一个
范围
,您可以轻松地将其转换为“常规”数组:

let arr2 = Array(0...4)

@vacawama,我错过它的原因是文章标题中的“填充”并没有向我暗示数组的内容将是某种迭代函数。也许只是我自己缺乏想象力。答案当然是一样的。我仍然感谢那些回答我问题的人,因为我在提问之前已经搜索过了。我可以看出,这可能很难找到。我更新了副本的标题,添加了“一个范围”,以便将来更容易找到。2天前@LeoDabus,当我看到范围是一个对象(其值明确可用)时,我立即意识到了可能性。Stride真的很酷:谢谢你提醒我它的存在。你将如何初始化一个
Double
s数组?@Adrian使用
Stride(from:to:by:)
函数(或
Stride(from:through:by:)
)来初始化Double。例如:
让myArray=Array(步长(从:0.0,到:5.0,by:1.0))
为您提供一个双精度数组:
[0.0,1.0,2.0,3.0,4.0,5.0]
。您还可以执行:
让索引:[Int]=(0。。