在rust中,单元文件可以被称为模块。
以下内容,将以get_local_info为例,讲解mod在工程中的使用。
先看下图,network.rs是src文件夹里的一个文件,我们可以单独把这个文件理解成一个模块。Rust比较智能,它可以将文件名称直接理解成一个模块,这在go里面是做不到的。
Rust其实是比较智能和简单的。上图中,networks.rs在src目录里,可以看到network被lib.rs引用,其引用的语句为pub mod network。
有了这句引用,lib.rs即拥有了可以使用network.rs文件里的导出函数的能力。注意:函数必须使用pub打头,比如pub fn test(),这样子即可。
如上图所示,被引用后的network里的所有带pub头的函数将被导出为外部接口。就像java中的包一样,整个network模块中的函数都是可以被外界直接使用的。
pub写在函数前面表示该函数将被导出,可直接使用以下调用代码进行调用: