Type段

示例:

  1. type # 演示相互递归类型的示例
  2. Node = ref object # 垃圾收集器管理的对象(r​​ef)
  3. le, ri: Node # 左右子树
  4. sym: ref Sym # 叶节点含有Sym的引用
  5.  
  6. Sym = object # 一个符号
  7. name: string # 符号名
  8. line: int # 声明符号的行
  9. code: Node # 符号的抽象语法树

类型部分以 type 关键字开头。 它包含多个类型定义。 类型定义将类型绑定到名称。 类型定义可以是递归的,甚至可以是相互递归的。 相互递归类型只能在单个 type 部分中使用。 像 objectsenums 这样的标称类型只能在 type 部分中定义。