rust 模块和引用

news/2025/10/10 16:19:09/文章来源:https://www.cnblogs.com/dcrenl/p/19133305

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()

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/934219.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

moectf2025-reverse-wp

moectf2025-reverse-wp upx 壳是什么?upx是什么?upx可以用来干什么?用自己的upx脱壳 upx -d +文件地址然后就去ida里面编译但是找不到main函数 我们直接shift+F12查看字符串然后点进去鼠标移到这里 按X 然后定位到主…

国标GB28181网页直播平台EasyGBS如何构建智慧社区一体化视频监控方案?

国标GB28181网页直播平台EasyGBS如何构建智慧社区一体化视频监控方案?随着科技的飞速发展,智慧社区的概念逐渐深入人心。智慧社区旨在通过先进的信息技术手段,实现社区的智能化管理和服务,提升居民的生活质量和社区…

完整教程:【论文阅读】纯视觉语言动作(VLA)模型:全面综述

完整教程:【论文阅读】纯视觉语言动作(VLA)模型:全面综述2025-10-10 16:09 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !importan…

TypeScript Declaration Merging(声明合并)使用说明

最近在进行前端开发的时候,为了拓展引用,使用了TS声明合并的特性,完整的了解了一下该特性,特此记录成笔记。 声明合并指在TypeScript里面,编译器将两个或者多个独立的相同名称的声明合并到一起。合并后的定义同时…

第七章 手写数字识别V5

# 优化: # 新建Model类,将神经网络的结构定义、训练流程(前向/后向)和预测逻辑统一封装起来 # 何将权重更新的职责从网络层(Linear)中分离出来,交给优化器(SGD)来完成 # 使用动量梯度下降优化算法(MSGD) # …

关于根据距离列表排序sql

关于根据距离列表排序sql//第一种 根据经纬度排序 $map = "1=1 ";if ($loadCode && $unloadCode) {$map .= " AND load_city_id = $loadCode and unload_city_id = $unloadCode";}…

2025年高适配铝型材厂家推荐:深圳市方达铝业领衔,3家企业覆盖多场景

随着科技的进步与工业的发展,铝型材作为一种轻质、高强度且耐腐蚀的材料,广泛应用于 3C 数码、智能家居、工业设备等多个领域。然而,市场上铝型材厂家众多,产品质量与服务水平参差不齐,给消费者的选择带来了困扰。…

注册c模块到lua中使用

#define REGISTER_CUSTOM_LIBRARY(name, lua_c_fn) \ int lua_c_fn(lua_State*); \ luaL_requiref(L, name, lua_c_fn, 0); \ lua_pop(L, 1) /* remove lib */ //注册c模块void open_custom_libs(lua_State* …

S3Bucket安全评分与合规状态逻辑修复:全面提升云存储安全评估准确性 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

DNA权威书籍

《基因XII》- 本杰明卢因分子生物学“圣经”。 这是全球最经典、最权威的分子生物学教材,每隔几年就会更新一版。内容极其全面、系统,从DNA结构、复制、转录、翻译到基因调控、基因组学、新技术都有详尽的阐述。插图…

220V转5V500mA非隔离电源芯片WT5105

220V转5V500mA非隔离电源芯片WT5105 WT5105 是一款集成非隔离式电源控制器,可将 220V 电压转换为 5V、500mA 的稳定输出,为低功率设备提供稳定、高效的供电解决方案。以下是其相关介绍:核心参数:输出电压为 5V,输…

linux基础-find查找

linux基础-find查找 1.认识 实时查找工具,通过便利指定路径完成文件的查找工作特点:(1)精确查找(2)实时查找(3)查找速度慢(4)可能之搜索用户具备读取和执行权限的目录语法 :   find [OPTION]... [查找路径…

220V转12V电机水泵供电驱动WT5105

220V转12V电机水泵供电驱动WT5105 WT5105是一款AC-DC开关电源驱动芯片,适用于220V转12V的电机水泵应用。以下是详细介绍:基本参数输入电压:85V~265V AC(覆盖220V市电)输出电压:可调,支持12V输出输出功率:5V-15…

ansys安装时无法修改安装路径--灰色无法修改

ansys安装时无法修改安装路径,是因为有ansys程序运行、曾经安装没有卸载干净 1、卸载 2、清除注册表(工具) 3、参考官方方法 Uninstalling the Ansys license manager – Ansys Optics以下是官网卸载方法 Uninstall…

Qwen2.5-VL技术报告

原文:https://mp.weixin.qq.com/s/IbfY50w_w27WO3ZzRSsyDg 全文摘要Qwen2.5-VL模型在视觉语言系列中具有显著的基础能力和创新功能上的提升。通过增强的视觉识别、精确的对象定位、稳健的文档解析和长视频理解等能力,…

智能提取表格从pdf, 图片 到 excel, csv

智能提取表格从pdf, 图片 到 excel, csvhttps://www.textin.com/

攸米知识付费小程序管理系统:一站式知识变现解决方案

在数字化浪潮推动下,知识付费成为教育、培训及内容创作领域的重要变现模式。攸米知识付费小程序系统依托微擎生态,为用户提供微信小程序端知识付费平台搭建服务,涵盖课程管理、会员体系、营销工具、订单处理等全流程…

citus设置密码

给citus集权设置密码 用户名: luozhengkang 密码:xiaoluo 数据库:mdmaster_prod-- 创建用户 CREATE USER luozhengkang WITH PASSWORD xiaoluo NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN CONNECTION LIMIT…

实践与认识及其发展规律

摆脱贫困首要并不是摆脱物质的贫困,而是摆脱意识和思路的贫困 告诉我们 实践主体的能力即包括自然能力,也包括精神能力 实践主体:指具有一定的主体能力,从事现实社会实践活动的人 实践主体的能力:包括自然能力和精…