Rust 模块

什么是模块

  • 模块是一组语法项的集合
  • 模块化编程是一种软件设计思想,降低耦合,便于维护
  • 模块有不同的定义方式
    • 使用 mode 关键字来定义
    • 可以定义于单个文件
# 2015 edition
member/
	- mod.rs
	- name.rs
	- address.rs

# 2018 edition
member/
	- name.rs
	- address.rs
member.rs

多模块之间的关系

  • 同级模块使用 crate 前缀
  • 父级模块使用 super 前缀
  • 包外模块之间使用包名

模块的可见性

Syntax
Visibility :
      pub
   | pub ( crate )
   | pub ( self )
   | pub ( super )
   | pub ( in SimplePath )

模块与属性

可以指定模块的路径

#[path = "foo.rs"]
mod bar;

属性的作用域

模块级别的属性有感叹号

#![warn(clippy::pedantic)]

其他的没有

#[allow(clippy::cmp_nan)]