rust模块化

模块化

关键字

模块以文件为单位

mod

最重要的关键字,引用以后即可用

use

引入的防范可以使用缩写

例子

同级文件

src/main.rs

pub mod dog;

fn main() {
    dog::sleep();
    crate::dog::dog1::bark();
    crate::dog::dog2::bark();
}

src/dog.rs

pub fn sleep() {
    println!("呼...呼...");
}

pub mod dog1 {
    pub fn bark() {
        println!("嗷...呜...");
    }
}

pub mod dog2 {
    pub fn bark() {
        println!("汪!汪!");
    }
}

多级模块

src/sub/mod.rs

pub mod demo1;
pub mod demo2;

pub use demo1::*;
// pub use demo2::sub;

src/sub/demo1.rs

pub fn add(x: i32, y: i32) -> i32 {
    x + y
}

src/sub/demo2.rs

pub fn sub(x: i32, y: i32) -> i32 {
    x - y
}

src/main.rs

mod sub;
// use sub::add;

fn main() {
    let result = sub::add(1, 2);
    println!("1 + 2 = {}", result);

    let result = sub::demo2::sub(1, 2);
    println!("1 - 2 = {}", result);
}
posted @   自由出土文物  阅读(50)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示