首页 > 其他分享 >Rust的模块化概念与可见性修饰符

Rust的模块化概念与可见性修饰符

时间:2022-11-27 11:12:40浏览次数:46  
标签:模块化 代码 修饰符 Crate pub 模块 test Rust

【模块化编程】是指将计算机程序的功能分离成独立的、可相互作用的“模块”的软件设计概念,每个模块都包含着执行一个预期功能的代码,复杂的系统被分割为小块的独立代码块。

 

Rust中代码模块化组织形式从大到小分为3类:

1. Package(包)

2. Crate(箱)

3. Module(模块)

 

Package 用于管理一个或多个 Crate(使用Cargo new命令就可以创建一个包);

Crate 是 Rust 的最小编译单元,即 Rust 编译器是以 Crate 为最小单元进行编译的。Crate 在一个范围内将相关的功能组合在一起,并最终通过编译生成一个二进制或库文件。

Module 允许我们将一个 Crate 中的代码组织成独立的代码块,以便于增强可读性和代码复用。同时,Module 还控制代码的可见性,即将代码分为公开代码和私有代码。

 

可见性修饰符:

pub: 成员对模块可见
pub(self): 成员对模块内的子模块可见
pub(crate): 成员对整个 crate 可见

 

示例代码:

mod test {
    pub const MSG: &str = "Hello World!";
    pub(self) const NUM: u32 = 32;

    pub(crate) enum CrateNum {
        Item = 4
    }
    
    pub mod inner {
        pub fn say() {
            println!("{}", super::NUM);
        }
    }
}

fn main() {
    println!("{}", test::MSG);
    println!("{}", test::CrateNum::Item as u32);
    test::inner::say();
}

 

标签:模块化,代码,修饰符,Crate,pub,模块,test,Rust
From: https://www.cnblogs.com/fanqshun/p/16929148.html

相关文章