开放数组(openarray)

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

开放数组类型不能嵌套: 不支持多维开放数组,因为这种需求很少并且不能有效地完成。

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