使用模块组织包

通常,由一个或多个模块组成。随着包的增长,将包的主模块组织成更小的模块可能是有用的。一个常见的习惯用法是将这些模块定义为主模块的子模块:

module RootModule

module SubModule1

...

end

module SubModule2

...

end

end

最初,根模块和子模块都无法访问彼此的导出符号。但是,支持相对导入来解决此问题:

module RootModule

module SubModule1

const x = 10
export x

end

module SubModule2

# import submodule of parent module
using ..SubModule1
const y = 2x
export y

end

# import submodule of current module
using .SubModule1
using .SubModule2
const z = x + y

end

在这个例子中,RootModule.z 的值是 30