当前位置: 首页 > article >正文

rust笔记14:mod和use的使用区别

在 Rust 中,mod 是一个关键字,用于定义模块(module)。模块是 Rust 中组织代码的基本单元,它可以帮助你将代码分割成更小的、可重用的部分,同时控制代码的可见性(通过 pub 关键字)。

mod 的主要作用

  1. 组织代码

    • 模块允许你将相关的代码组织在一起,形成一个逻辑单元。
    • 例如,可以将与网络相关的代码放在 network 模块中,与文件操作相关的代码放在 file 模块中。
  2. 控制可见性

    • 默认情况下,模块中的项(如函数、结构体、枚举等)是私有的,只能在模块内部访问。
    • 使用 pub 关键字可以将模块中的项公开,使其可以在模块外部访问。
  3. 命名空间管理

    • 模块为代码提供了命名空间,避免了命名冲突。
    • 例如,两个模块中可以定义同名的函数,但它们不会冲突,因为它们属于不同的命名空间。
  4. 代码复用

    • 模块可以被其他模块或文件引用,从而实现代码的复用。

mod 的基本用法

1. 定义模块

在 Rust 中,可以使用 mod 关键字定义一个模块。模块可以包含函数、结构体、枚举、常量、其他模块等。

mod network {
   
    pub fn connect() {
   
        println!("Connecting to the network...");
    }
}

fn main() {
   
    network::connect(); // 调用模块中的函数
}
2. 模块的可见性

默认情况下,模块中的项是私有的。如果需要从模块外部访问,需要使用 pub 关键字。

mod network {
   
    pub fn connect() {
   
        println!("Connecting to the network...");
    }

    fn private_function() {
   
        println!("This is private");
    }
}

fn main() {
   
    network::connect(); // 可以访问
    // network::private_function(); // 错误:private_function 是私有的
}
3. 嵌套模块

模块可以嵌套,形成层次化的结构。

mod network {
   
    pub mod tcp {
   
        pub fn connect() {
   
            println!("Connecting via TCP...");
        }
    }

    pub mod udp {
   
        pub fn connect() {
   
   

http://www.kler.cn/a/590309.html

相关文章:

  • [STM32]新建工程||一个工程文件应该有哪些基本内容?
  • zico2: 1靶场渗透测试
  • 深度学习知识:softlabel策略
  • 亚远景-汽车软件质量提升利器:ASPICE咨询深度解读
  • go语言的控制语句
  • 错误,程序包xxx不存在,Androidstudio报错解析
  • maven核心包:maven-model
  • AI学习第二天--监督学习 半监督学习 无监督学习
  • Maven的继承和聚合
  • 解决 Jupyter Notebook 中本地模块修改不生效的问题
  • 西门子PLC 博图(TIA Portal)与安川机器人进行Modbus TCP通信
  • QuickAPI:如何轻松实现数据库快速导入
  • Python----计算机视觉处理(Opencv:图像颜色替换)
  • Git下载安装(保姆教程)
  • 青少年编程与数学 02-011 MySQL数据库应用 02课题、MySQL数据库安装
  • C++高频(二)
  • uniapp实现页面左滑右滑切换内容
  • 【万字总结】构建现代Web应用的全方位性能优化体系学习指南(二)
  • UART转AHB总线接口参考设计介绍
  • CSS3学习教程,从入门到精通,CSS3 属性语法知识点及案例代码(4)