最近我正在做一些代码测试,发现在Swift中固定大小的数组创建与其他语言(例如c ++)相比并不那么简单。
我在这里看到了1d数组的解决方案:link:
一维数组,将c ++与Swift进行比较:
// In c++
int array1[64]; // 1-dimension array size 64
// In Swift
var array1 = [Int?](repeating: nil, count: 64) // 1 dimension array size 64
对于二维数组:
// in c++
int array2[64][64]; // 2-dimension array size 64x64
// in Swift
var array2 : [[Int?]] = ???????
如何快速启动固定大小的二维数组?
答案 0 :(得分:0)
我通过在Playground中进行测试找到了答案,这是解决方案:
在c ++中
int array1[64]; // 1-dimension array size 64
int array2[64][64]; // 2-dimension array size 64x64
在Swift中:
var array1 = [Int?](repeating: nil, count: 64) // 1 dimension array
var array2 = [[Int?]](
repeating: [Int?](repeating: nil, count: 64)
count: 64
) // 2-dimension array size 64x64
// Access it like normal
array2[4][2] = 42
print(array2[4][2]) // output: 42
快速的3维额外奖励阵列!
var array3 =
[[[Int?]]](
repeating: [[Int?]](
repeating: [Int?](
repeating: nil,
count: 3),
count: 3),
count: 3)