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

大石桥网站webview播放视频

大石桥网站,webview播放视频,安装网站程序要给那个目录设置权限,网页制作中怎么添加图片文章目录Rust 模块系统:控制作用域与私有性一、模块声明规则二、路径(Paths)访问规则三、私有性控制(pub 关键字)四、use 关键字:简化路径五、模块树结构示例关键总结Rust 模块系统:控制作用域与…

文章目录

      • Rust 模块系统:控制作用域与私有性
        • 一、模块声明规则
        • 二、路径(Paths)访问规则
        • 三、私有性控制(`pub` 关键字)
        • 四、`use` 关键字:简化路径
        • 五、模块树结构示例
        • 关键总结

Rust 模块系统:控制作用域与私有性

模块(mod)是 Rust 组织代码的核心机制,用于封装代码、管理作用域和实现私有性控制。核心概念包括:模块声明路径(paths)pub 公开性use 快捷引用

demo


一、模块声明规则
  1. 起点:Crate 根文件

    • 编译器从 crate 根文件开始编译:
      • 库 crate:src/lib.rs
      • 二进制 crate:src/main.rs
  2. 声明模块的三种方式
    在 crate 根文件声明 mod garden; 时,编译器按顺序查找:

    • 内联代码:mod garden { /* 代码 */ }
    • 文件 src/garden.rs
    • 文件 src/garden/mod.rs
  3. 子模块声明
    在非根文件(如 src/garden.rs)中声明子模块 mod vegetables; 时,查找位置:

    • 内联代码:mod vegetables { /* 代码 */ }
    • 文件 src/garden/vegetables.rs
    • 文件 src/garden/vegetables/mod.rs

文件结构示例

backyard
├── Cargo.toml
└── src├── garden│   └── vegetables.rs  // 子模块代码├── garden.rs         // 模块声明└── main.rs           // crate 根

二、路径(Paths)访问规则
  • 通过路径访问模块内项(如结构体、函数):
    crate::garden::vegetables::Asparagus // 绝对路径
    
  • 路径类型:
    • 绝对路径:从 crate 根开始
    • 相对路径:从 self(当前模块)或 super(父模块)开始

三、私有性控制(pub 关键字)
  1. 默认私有

    • 模块内项(函数/结构体等)默认 对父模块私有
    • 子模块可访问父模块,但父模块不能访问子模块私有项。
  2. 公开作用域

    pub mod garden {          // 公开模块pub mod vegetables {   // 公开子模块pub struct Asparagus; // 公开项}
    }
    
    • pub mod:使模块可从外部访问
    • pub 修饰项:使模块内的特定项公开

四、use 关键字:简化路径
  • 创建快捷方式避免重复长路径:
    use crate::garden::vegetables::Asparagus;
    fn main() {let plant = Asparagus; // 直接使用短名
    }
    
  • 常用组合:
    use crate::garden::vegetables; // 引入模块,通过 vegetables::Asparagus 访问
    use crate::garden::vegetables::Asparagus as Veg; // 重命名
    

五、模块树结构示例

代码示例(餐厅管理系统):

// src/lib.rs
mod front_of_house {     // 模块pub mod hosting {     // 子模块(公开)pub fn add_to_waitlist() {} // 公开函数}
}

模块树结构

crate
└── front_of_house└── hosting└── add_to_waitlist

关键总结
机制作用示例
mod声明模块mod garden;
pub公开模块或项pub fn seat_at_table()
crate::绝对路径起点crate::garden::Asparagus
use创建路径别名use crate::garden;
文件系统映射模块与文件自动关联garden.rsmod garden

模块系统通过文件路径映射和层级访问控制,实现了代码的高效组织与封装,是 Rust 安全性的重要基石。

http://www.dtcms.com/wzjs/277489.html

相关文章:

  • 网站建设方案书 内容管理制度广州网络推广服务商
  • 如何在淘宝上接单网站建设seo推广优化方案
  • 门户app网站建设多少钱志鸿优化设计电子版
  • html5做网站优势优化网站关键词排名软件
  • 宁波公司核名网站网络营销公司排行
  • 南京做网站优化哪家好国内疫情最新情况
  • 网站维护有哪些企业百度竞价培训
  • 企业注册地址查询河北百度seo关键词排名
  • 网站算信息化建设百度招聘
  • 关于建设集团公司网站的报告核心关键词和长尾关键词举例
  • 学校网站框架怎么把产品快速宣传并推广
  • 做网站公司关键词怎样推广公司的网站
  • 建设黄色网站自己看百度在线扫一扫
  • 网站建设导航栏网页制作成品模板网站
  • 摄影后期教程网站百度推广创意范例
  • 做的网站为什么图片看不了怀化网络推广
  • 7天精通网站建设实录培训机构营业执照如何办理
  • 网站建设需求方案网站alexa排名
  • 深圳市手机网站建设怎么样福州seo排名公司
  • 长治市建设厅官方网站济南网络推广网络营销
  • 高端网站制作上海站霸科技宁波优化推广找哪家
  • 怎么做二级网站域名个人发布信息的免费平台
  • 网站建设用什么写公司网站优化
  • html in wordpress西安抖音seo
  • 兰溪建设局网站万能软文模板
  • 南宁网站建设哪一键搭建网站工具
  • 中国新闻社归哪个部门管关键词排名seo
  • wordpress ffmpeg南宁百度seo公司
  • 1.1做网站的目的怎么做属于自己的网站
  • 怎么用dwcs6做网站设计百度贴吧入口