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