rust的模块

前言:本篇及涉及到的rust的模块组织方面的知识是基于rust2018版的。cargo版本是1.14.0

当模块文件与main.rs在同一层时:

rust的模块

当模块文件与main.rs在同一层时可以直接使用mod关键字引用:

rust的模块

rust的模块

当使用文件夹时文件夹底下必须要有mod.rs。这个文件作用与python下的__init__.py类似:

rust的模块

rust的模块

这个时候有两各导出的方式:

1. 如下图,用mod将method2、method3模块做为私有模块导入model_2中,然后用pub use将模块中的method2、method3函数做为model_3的函数导出。

rust的模块

rust的模块

2.如下图,直接用pub mod暴露method2、method3子模块:

rust的模块

rust的模块

rust的模块

关于同一模块下的子模块间的相互调用: 同一模块下的子模块间是不能直接相互调用的。要调用的话要用super关键字:

rust的模块

rust的模块

rust的模块

rust的模块


rust的模块

rust的模块

rust的模块