通过例子学习Rust-10.模块

可见性

主模块可以直接访问其中的共有项,但是对于私有项来说是不能够直接访问的。
模块是可以嵌套的,嵌套内部的模块需要标注其内部的公有和私有属性,在模块之外只有共有的项可以访问。

只能在my_mod模块中访问,在主函数体中无法访问

只能在自己内部访问,相当于是私有项

只能在父模块中访问

嵌套内部的模块需要标注其内部的公有和私有属性

结构体的可见性

  • 结构体可见性的作用是为了隐藏信息,在结构体之外访问的时候这个可见性才会产生作用。
  • 带有私有字段的公有结构体不能访问其私有字段。

use声明

  • use声明可以使用某个模块中的某个函数,或者整个模块。
1
2
3
4
5
6
use deeply::nested::function as function

fn function() {
println!("called function()");
}

  • 这时deeply中的function会覆盖原来的function

super 和 self

  • super(父级)和self(自身)能够在访问的时候消除歧义
  • 使用方法:
1
2
super::my::function;
self::function;

文件分层

  • 文件分层主要用在多个函数的情况之下。