Export语句

export 语句可用于符号转发,因此客户端模块不需要导入模块的依赖项:

  1. # 模块B
  2. type MyObject* = object
  1. # 模块A
  2. import B
  3. export B.MyObject
  4.  
  5. proc `$`*(x: MyObject): string = "my object"
  1. # 模块C
  2. import A
  3.  
  4. # B.MyObject这里已经被隐式导入:
  5. var x: MyObject
  6. echo $x

当导出的符号是另一个模块时,将转发其所有定义。您可以使用 except 列表来排除某些符号。

请注意,导出时,只需指定模块名称:

  1. import foo/bar/baz
  2. export baz