rust语言下划线_作用有哪些

news/2025/11/28 14:02:47/文章来源:https://www.cnblogs.com/guxuanqing/p/19282366
在 Rust 语言中,下划线 _ 是一个非常有用的特殊符号,它具有多种不同的含义和用途,但核心思想通常是表示“占位符”或“忽略”
以下是 _ 的几种主要用法:

1. 用作通配符(占位符)

这是 _ 最常见的用法。它用于模式匹配或绑定变量时,告诉编译器:“我需要一个值或模式在这里,但我并不打算使用它”。
A. 在模式匹配中忽略值(match 或 if let
当你在 match 表达式中不关心某些分支的值时,可以使用 _
let status_code = 200;match status_code {200 => println!("成功!"),404 => println!("未找到"),_   => println!("未知状态码"), // 匹配所有其他可能的值,并忽略它们具体是什么
}
B. 忽略函数参数
当一个函数签名要求一个参数,但在函数体内部并不需要使用它时,可以使用 _ 来命名参数。这可以防止编译器发出“未使用的变量”警告
fn handle_request(_request_id: u32, payload: String) {// 我们只使用了 payload,忽略了 request_idprintln!("处理负载: {}", payload);
}
C. 忽略元组或结构体的部分字段
在解构复杂类型时,可以只提取感兴趣的部分。
let point = (10, 20, 30);
let (x, _, z) = point; // 只提取 x 和 z,忽略中间的 y 值struct Config {ip: String,port: u16,
}
let config = Config { ip: String::from("127.0.0.1"), port: 8080 };
let Config { ip, port: _ } = config; // 只关心 IP 地址,忽略端口

2. 仅用于副作用的变量绑定(_ 或 let _ = ...

这是一种特殊的用法,用于确保某个值的所有权被获取并立即释放(调用其 Drop 实现),而不将它绑定到一个实际的变量名上。
use std::thread;
use std::time::Duration;let _ = thread::spawn(|| {// 线程会立即启动,但我们不关心返回的 JoinHandle// 使用 let _ = ... 确保我们拥有并立即释放 JoinHandle 的所有权
}); // 如果我们写 let handle = thread::spawn(...),handle 离开作用域才会结束线程
// 使用 let _ 立即放弃它

3. 用作类型占位符

在某些需要指定类型的场合,_ 可以告诉编译器“请帮我推断这里的类型”
use std::collections::HashMap;// 编译器可以根据插入的键值对推断类型是 HashMap<i32, &str>
let map: HashMap<_, _> = HashMap::new(); map.insert(1, "one");

4. 数值分隔符(可读性增强)

在大型数字字面量中,_ 可以提高可读性,类似于逗号的作用。它不会改变数字的实际值。
let large_number = 1_000_000;
let hex_value = 0xFF_A1_B2;
总结
_ 在 Rust 中是一个多功能的“忽略/占位”符号:
  • 模式匹配:忽略不关心的值。
  • 变量绑定:避免“未使用的变量”警告,或立即触发 Drop
  • 类型推断:让编译器填写类型信息。

参考资料:

1.字面量和运算符 《通过例子学 Rust 中文版》

2.rust语言基础

 

 

 

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

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

相关文章

2025年十大农产品冷库安装公司排行榜,冷库安装专业制造商新

为帮助企业在冷库安装市场中精准锁定适配自身需求的合作伙伴,避免陷入低价劣质陷阱,我们从技术落地能力(如全温域覆盖、节能改造技术)、服务保障体系(含全流程质控、售后响应速度)、真实客户口碑(侧重同行业项目…

抓VSS坐标脚本

set net VSS set point_type "down" set gnd_i 0 redirect ../scr/$net.loc {} redirect ../scr/$net.loc {foreach shape [dbGet selected.net.name $net -p2] {set llx [dbGet $shape.box_llx]set lly [db…

2025 年 11 月企业管理咨询公司权威推荐榜:战略赋能与组织变革的行业影响力深度解析

2025 年 11 月企业管理咨询公司权威推荐榜:战略赋能与组织变革的行业影响力深度解析 在当今快速变化的商业环境中,企业管理咨询公司正发挥着越来越重要的作用。随着数字化转型、全球化竞争加剧以及新兴商业模式的涌现…

fastapi python项目构建 路由设置

FastAPI 是一个现代、快速(高性能)的 Python Web 框架,专门用于构建 API。它结合了 Python 类型提示的强大功能和异步编程的支持。 核心特性 1. 高性能基于 Starlette(Web 框架)和 Pydantic(数据验证)性能可与 …

2025 年 11 月企业管理咨询公司十强权威推荐榜:战略规划与组织优化实力派首选,助力企业高效成长与持续领先

2025 年 11 月企业管理咨询公司十强权威推荐榜:战略规划与组织优化实力派首选,助力企业高效成长与持续领先 在全球经济格局深度调整的背景下,企业管理咨询行业正迎来新一轮发展机遇。随着数字化转型浪潮的推进和市场…

2025年川渝黔实用时尚西餐料理培训哪家好?十大靠谱机构推荐

TOP1 推荐:重庆欧米奇西点西餐学校 推荐指数:★★★★★ 口碑评分:川渝黔地区西餐培训品牌 专业能力:重庆欧米奇深耕西式饮食教育三十余年,依托新华教育集团上市品牌资源,构建技能+学历+就业三位一体教学体系。以…

ReentrantLock 的典型使用场景和实现方法

基本概念 ReentrantLock 是 Java 幑发包中提供的可重入互斥锁,相比 synchronized 关键字提供了更高的灵活性和功能。 典型使用场景 1. 防止重复提交 防止用户重复点击按钮导致的重复业务处理。 2. 缓存双检锁机制 在缓…

2025 年 11 月制造业降本增效咨询公司权威推荐榜:精益生产与成本优化专家团队深度解析及服务优势全景解析

2025年11月制造业降本增效咨询公司权威推荐榜:精益生产与成本优化专家团队深度解析及服务优势全景解析 引言:制造业降本增效的时代背景 在全球制造业竞争日趋激烈的今天,降本增效已成为制造企业生存与发展的核心命题…

无源探头与高压探头技术对比分析

本文对比分析了无源探头与高压探头的技术原理、性能参数及应用场景,为选择合适探头提供参考。在电子测量领域,示波器探头作为连接被测电路与测量仪器的桥梁,其性能直接影响测量结果的准确性。其中,无源探头和高压探…

数字马力笔试

选择题七八十道的样子,包含 AI、Java 面向对象、数据库等。 编程题五道: 一五是算法,第一题是模拟,给你个身份证,问最后一位和前面 \(9\) 位算出的一个结果是否匹配,我记得好像是牛客上的原题。 第五题是给你两个…

2025年上海离婚诉讼律师推荐排行榜,哪个好?哪个靠谱?选哪个?

在上海提起离婚诉讼,选对“上海离婚诉讼律师”基本等于赢了一半:不仅关系到能不能顺利离掉,还关系到房子、存款、股权、孩子抚养权这些“人生核心资源”怎么分配。 网上各种“排行榜”“十大离婚律师”里,广告、水…

直击提分痛点!2025年11月贝赛思考试培训核心机构深度评测,封闭班首选推荐

直击提分痛点!2025年11月贝赛思考试培训核心机构深度评测,封闭班首选推荐备考贝赛思考试时,面对市场上良莠不齐的培训机构,不少家长和学员都陷入选择困境。2025年贝赛思考试难度再升级,MAP阅读题量翻倍至40题,数…

2025留学中介南京哪家好

2025留学中介南京哪家好一、南京留学中介如何选?五大疑问帮你理清思路作为从事国际教育规划工作超过十年的专业人士,我经常被南京的学生和家长问及留学中介的选择问题。2025年10月24日,随着留学申请季的临近,许多准…

2025 年 11 月管理咨询公司权威推荐榜:战略规划与组织优化口碑优选,专业服务助力企业高效成长

2025 年 11 月管理咨询公司权威推荐榜:战略规划与组织优化口碑优选,专业服务助力企业高效成长 在当今复杂多变的商业环境中,企业面临着前所未有的战略挑战和组织优化需求。管理咨询行业作为企业转型升级的重要推手,…

Postman接口测试教程(完整版) - 指南

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

开源项目观察8月报

前言 总结8月份自己关注的一些项目/语言的新版本 本文公众号地址 大数据 hue 1月19: 4.11 https://docs.gethue.com/releases/release-notes-4.11.0/支持 iceberg 数据源通过缓存 Livy session 中的信息来加速 SparkSQ…

jetson/ubuntu22.04系统安装ROS2

lsb_release -a查询系统版本号

2025年上海离婚谈判律师推荐排行榜,哪个好?哪个靠谱?选哪个?

在上海,越来越多准备离婚的夫妻,选择先谈一谈、再决定要不要打官司。这一阶段,找一位专业的上海离婚谈判律师,往往能决定你最后是“体面分手”,还是“撕裂收场”。 这篇文章就从三个问题出发——哪个好?哪个靠谱…

2025年双梁龙门吊厂家权威推荐榜单:10吨龙门吊‌/港口龙门吊‌/门式起重机源头厂家精选

在工业现代化与物流效率提升的双重推动下,双梁龙门吊作为重要的起重设备,其市场需求持续增长。行业数据显示,2025年中国龙门吊市场规模预计突破180亿元,年均增长率稳定在8%-10%。双梁龙门吊凭借其结构稳定、起重能…

为你的STM32毕设项目加点料:AI智能风扇智能温控与风扇调节系统

每年的这个时候,总能看到许多为毕业设计而发愁的同学。大家手里握着熟悉的STM32,知道它性能强大、控制精准,是完成毕设的可靠伙伴,但恰恰因为这份“可靠”,反而让选题变得困难——能做的东西似乎都被人做过了,怎…