惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
L
LINUX DO - 最新话题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
宝玉的分享
宝玉的分享
博客园 - 聂微东
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Cyberwarzone
Cyberwarzone
S
Securelist
博客园_首页
Know Your Adversary
Know Your Adversary
S
Schneier on Security
雷峰网
雷峰网
L
LINUX DO - 热门话题
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
Last Week in AI
Last Week in AI
P
Privacy & Cybersecurity Law Blog
Scott Helme
Scott Helme
Schneier on Security
Schneier on Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
AI
AI
K
Kaspersky official blog
爱范儿
爱范儿
H
Heimdal Security Blog
S
Secure Thoughts
T
Threatpost
B
Blog RSS Feed
NISL@THU
NISL@THU
C
CERT Recently Published Vulnerability Notes
云风的 BLOG
云风的 BLOG
Spread Privacy
Spread Privacy
Microsoft Azure Blog
Microsoft Azure Blog
IT之家
IT之家
Security Latest
Security Latest
V
Vulnerabilities – Threatpost
V2EX - 技术
V2EX - 技术
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google DeepMind News
Google DeepMind News
Vercel News
Vercel News
人人都是产品经理
人人都是产品经理
Recent Announcements
Recent Announcements
The Cloudflare Blog
T
Troy Hunt's Blog
Stack Overflow Blog
Stack Overflow Blog
MyScale Blog
MyScale Blog
D
Docker
C
Cyber Attacks, Cyber Crime and Cyber Security

博客园 - dcrenl

解决CapabilityAccessManager.db-wal 文件过大 Java 应用程序在linux环境中读取和写入 Microsoft Access 数据库(包括 .mdb 和 .accdb 格式)的开源库 windows 版本nginx报错:maximum number of descriptors supported by select() is 1024 while 删除多个网关 dot net6 在win7上运行报错 远程重启服务器 sqlserver 20008 R2 关闭TLS1.0无法启动服务的解决办法 nohup java按天输出日志 idea 社区版本创建android原生项目 解决win11输入法自定义短语有多个当前日期只有最后一个生效 postgresql使用for循环 Win10打开IE自动跳转至Edge解决办法 身份认证与授权 pnpm : 无法加载文件 \AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运行脚本。 - dcrenl C# 获取时间戳 win11 输入法自定义短语输出日期时间变量 SM系列国密算法 Opera打不开网页解决办法 excel 数字转中文大写金额 nginx http跳转到https
rust 模块和引用
dcrenl · 2025-10-10 · via 博客园 - dcrenl

rust的模块声明有两种方式:

1、mod.rs文件方式

在 2018 年后的版本中已逐渐被新的模块系统取代,Rust 官方文档中已删除对 mod.rs 的介绍,主要因为该功能在 Rust 1.30 版本后被新的模块命名约定替代。

目录结构为:

backyard
├── Cargo.lock
├── Cargo.toml
└── src
    ├── garden
        ├── mod.rs
    │   └── vegetables.rs
    └── main.rs

mod.rs文件需要写入pub mod vegetables;

main.rs需要写mod garden;才能在main.rs中使用vegetables.rs文件中的方法,例如:crate::garden::vegetables::funxxx()

2、使用文件夹命名管理模块方式

1.30 版本后被推荐写法,但是旧写法目前任然兼容

目录结构为:

backyard
├── Cargo.lock
├── Cargo.toml
└── src
    ├── garden
    │   └── vegetables.rs
    ├── garden.rs
    └── main.rs

需要在garden目录同级目录下创建一个garden.rs文件,内容为pub mod vegetables;
main.rs需要写mod garden;才能在main.rs中使用vegetables.rs文件中的方法,例如:crate::garden::vegetables::funxxx()

两种方式最终生成的模块路径完全一致,避免混合使用两种方式