开放数组

通常,固定大小的数组不太灵活,程序应该能够处理不同大小的数组。 openarray “开放数组” 类型只能用于参数。开放数组总是从位置 0 开始用 int 索引。 也可用 len , low 和 high 操作。具有兼容基类型的任何数组都可以传递给开放数组的形参,不关乎索引类型。除了数组之外,还可以将序列传递给开放数组参数。

openarray 类型不能嵌套: 不支持多维开放数组,因为这种需求很少且不高效。

  1. proc testOpenArray(x: openArray[int]) = echo repr(x)
  2. testOpenArray([1,2,3]) # array[]
  3. testOpenArray(@[1,2,3]) # seq[]