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

Rust 的 mod(模块) 说明

模块(Module) 是 Rust 中用来分割和组织代码的基本单元。

怎么在Rust中创建模块?

  1. 使用 mod 关键字创建模块
    直接在代码中用mod创建模块

    mod front_of_house { pub mod hosting { pub fn add_to_waitlist() {} } }
  2. 使用单独的文件作为模块
    在该文件中直接写上我们需要的代码,如:

    // 文件 src/front_of_house.rs fn take_order() {} fn serve_order() {} fn take_payment() {}
  3. 使用mod.rs文件的目录定义模块
    可以在包含mod.rs的文件目录中来定义模块,并且可以在mod.rs文件中声明和加载当前目录下的子模块,如:

    ├── memory_pools ├── config.rs ├── fair_pool.rs ├── logging_pool.rs ├── mod.rs ├── task_shared.rs └── unified_pool.rs

    mod.rs中的内容如下:

    mod config; mod fair_pool; pub mod logging_pool; mod task_shared; mod unified_pool; use datafusion::execution::memory_pool::{ FairSpillPool, GreedyMemoryPool, MemoryPool, TrackConsumersPool, UnboundedMemoryPool, }; use fair_pool::CometFairMemoryPool; use jni::objects::GlobalRef; use once_cell::sync::OnceCell; use std::num::NonZeroUsize; use std::sync::Arc; use unified_pool::CometUnifiedMemoryPool; pub(crate) use config::*; pub(crate) use task_shared::*;

    在以上中声明了子模块config fair_pool(如果 mod.rs 文件中没有写 mod 子模块;,即使子文件存在,其内容也不会被编译)等,并且通过pub(crate) use config::*重新导出子模块中的内容,方便外部调用;
    通过use fair_pool::CometFairMemoryPool使用 fair_pool模块中的CometFairMemoryPool结构体.
    注意在 Rust 中,所有项(函数、方法、结构体、枚举、模块和常量)默认对父模块都是私有的,如果需要让上级模块访问子模块的内容,通常需要配合 pub 使用,例如 pub mod 子模块;

http://www.jsqmd.com/news/464655/

相关文章:

  • Alibaba Cloud 实现大文件上传
  • 把 SAP 系统真正跑在 IPv6 上:从实例开关到 AS Java、DNS 与双栈治理的完整实践
  • IDEA使用指南GUIDE
  • 消息队列原理篇
  • PyCharm连接英伟达4090D GPU服务器实战(本文提供项目代码、英伟达4090D显卡服务器完整环境)
  • SpeedAI、笔灵AI、嘎嘎降AI三款热门工具实测,谁才是性价比之王
  • 10个Kinesalite常见问题解决方案:从安装到数据处理全指南
  • 【Python】算法笔记
  • 率零和去AIGC哪个好用?两款平价降AI工具深度对比
  • 终极指南:如何使用 ncollide 构建 Rust 2D/3D 碰撞检测系统
  • Unity IDE(代码调试编辑器,支持Lua断点)选择Visual Studio还是Rider?(带使用教程详解)
  • Kafka、Flink安装,简单使用
  • 微弱电流信号检测中TIA原理与T型电阻原理图相比,在检测性能、适用场景等有哪些具体区别
  • 如何快速掌握ncollide:Rust 2D/3D碰撞检测库入门指南与常见问题解答
  • 2026年降AI工具红黑榜:踩过雷才知道哪些真好用
  • 79、昇腾系列服务器/昇腾系列推理卡/昇腾系列嵌入式开发板+Dify+one api部署DeepSeek-R1-Distill-Qwen-32BW8A8+RAG本地模型知识库和负载均衡双实例
  • hivesql执行逻辑及顺序
  • 八股文笔记——操作系统
  • 嘎嘎降AI vs 千笔AI vs PaperYY:三款主流降AI工具谁更值得买
  • Python学习笔记1
  • Shell函数-4
  • Pycharm通过代码注释实现代码折叠
  • Shell编程-5
  • 豆包+Kimi降AI指令大全:25条实测有效的提示词分享
  • 安装linux系统
  • 比话降AI使用教程:知网专用降AI工具从入门到精通
  • Linux文件管理
  • 【Gormacs】Gromacs伞形采样原理
  • tomcat优化
  • OpenAI Gym 介绍