我很好奇 Swift 中是否有任何方法可以声明具有特定类型的多维数组(在本例中我们会说 Float
)但不限于固定数量的维度(例如, let arr: Array<Array<Float>>
)?
我想创建一个接受多维数组的函数,目前我知道的唯一方法是:
func testFunction(arr: [Any]) {}
这是有问题的,因为它没有指定数组的实际标量类型。作为类型Any
这意味着,这个函数可以接受任何卡在 Array
中的东西。 .有什么想法吗?
最佳答案
不仅仅是一个数组。每个数组都需要知道它包含什么类型。要包含任意数量的维度,每个数组都需要能够容纳 Float 或 Array。
您可以对具有两种情况的枚举做一些自定义的事情。
enum MultidimensionalArray<Element> {
case array([MultidimensionalArray<Element>])
case values([Element])
}
但您可能会根据自己的使用方式向它添加更多方法。
关于arrays - 声明具有特定类型但任意维数的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57914324/