gpt4 book ai didi

arrays - 在 Swift 4 中初始化 double 数组

转载 作者:搜寻专家 更新时间:2023-10-31 08:24:29 25 4
gpt4 key购买 nike

我可以在 Swift 4 中初始化一个 Int 数组,如下所示:

// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
let intArray = Array(1...10)

如果我将数组指定为 Double 的数组,如下所示:

let doubleArray1: [Double] = Array(1...100)

...编译器说:

Cannot convert value of type 'Array' to specified type '[Double]'

如果我尝试这样做:

let doubleArray1 = Array<Double>(1...100)

...编译器这样说...

Cannot invoke initializer for type 'Array' with an argument list of type '(CountableClosedRange)'

我使用 map 让它工作,如下所示:

// [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0]
let doubleArrayMap = Array(1...10).map{Double($0)}

有没有一种“更干净”的方法可以快速初始化 Double 数组 ,而无需在 Swift 中使用 map

最佳答案

您可以根据 stride() 生成的序列初始化数组:

let doubles = Array(stride(from: 1.0, through: 100.0, by: 1.0))

但请注意浮点精度的限制:如果增量不是整数值,则舍入误差可以积累。然后映射(和缩放)一个整数范围更安全的解决方案。

关于arrays - 在 Swift 4 中初始化 double 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49072324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com