附录A. Rust 关键字速查表
附录A. Rust 关键字速查表本附录提供 Rust 语言所有关键字的完整速查表包括当前使用的关键字、保留关键字以及特殊标识符。当前使用的关键字声明与定义类关键字用途示例fn定义函数或方法fn add(a: i32, b: i32) - i32 { a b }let声明变量绑定let x 5;mut声明可变变量或引用let mut count 0;const定义编译时常量const MAX_SIZE: usize 100;static定义静态变量全局生命周期static GLOBAL: i32 42;struct定义结构体struct Point { x: i32, y: i32 }enum定义枚举类型enum Color { Red, Green, Blue }union定义联合体unsafeunion Data { i: i32, f: f32 }type定义类型别名type ResultT std::result::ResultT, Error;trait定义 Trait接口trait Draw { fn draw(self); }impl实现方法或 Traitimpl Point { fn new() - Self { ... } }控制流类关键字用途示例if条件分支if x 0 { println!(positive); }else条件分支的否定情况if x 0 { ... } else { ... }match模式匹配match value { Some(x) x, None 0 }loop无限循环loop { break; }while条件循环while count 10 { count 1; }for迭代循环for i in 0..10 { println!({}, i); }break跳出循环loop { if done { break; } }continue跳过本次循环for i in 0..10 { if i % 2 0 { continue; } }return从函数返回fn get_value() - i32 { return 42; }模块与可见性类关键字用途示例mod定义模块mod utils { pub fn helper() {} }pub公开可见性pub struct Point { pub x: i32 }use导入路径到作用域use std::collections::HashMap;crate当前 crate 的根路径use crate::utils::helper;super父模块路径use super::parent_function;self当前模块路径或方法接收者use self::inner_mod;或fn method(self)Self实现类型的别名impl Point { fn new() - Self { ... } }extern链接外部 crate 或声明外部函数extern crate serde;或extern C { fn abs(x: i32) - i32; }所有权与生命周期类关键字用途示例ref在模式中创建引用let ref x 5;等价于let x 5;move强制闭包获取所有权let closure move || println!({}, x);as类型转换或重命名导入let x 5 as f64;或use std::io::Result as IoResult;where泛型约束子句fn funcT(x: T) where T: Display { ... }dyn动态分发 Trait 对象let obj: Boxdyn Draw Box::new(circle);异步编程类关键字用途示例async定义异步函数或块async fn fetch_data() - String { ... }await等待异步操作完成let data fetch_data().await;Unsafe 与 FFI 类关键字用途示例unsafe标记不安全代码块或函数unsafe { *raw_ptr 42; }宏与属性类关键字用途示例macro_rules!定义声明式宏macro_rules! say_hello { () { println!(Hello!); } }其他关键字关键字用途示例infor循环的一部分for item in collection { ... }box堆分配已弃用使用Box::newlet b box 5;(不推荐)保留关键字2015 Edition这些关键字在 Rust 2015 Edition 中保留但尚未使用为未来功能预留关键字预留用途abstract可能用于抽象类型或方法become可能用于尾调用优化do可能用于循环或块final可能用于继承控制macro可能用于宏定义已部分使用override可能用于方法重写priv可能用于私有可见性typeof可能用于类型查询unsized可能用于动态大小类型virtual可能用于虚方法yield可能用于生成器已在 nightly 中使用保留关键字2018 EditionRust 2018 Edition 及之后新增的保留关键字关键字预留用途try可能用于错误处理已有try块在 nightly特殊标识符这些不是严格的关键字但在特定上下文中有特殊含义生命周期标识符标识符含义示例static静态生命周期整个程序运行期间let s: static str hello;_匿名生命周期编译器推断fn func(x: _ str) { ... }特殊路径标识符含义示例$crate宏中引用定义宏的 crate$crate::utils::helper()特殊属性标识符含义示例cfg条件编译#[cfg(target_os linux)]test标记测试函数#[test] fn test_add() { ... }derive自动派生 Trait#[derive(Debug, Clone)]allow/warn/denyLint 控制#[allow(dead_code)]关键字使用注意事项1. 原始标识符Raw Identifiers如果需要使用关键字作为标识符名称可以使用r#前缀// 使用关键字作为变量名letr#fnfunction name;letr#matchmatch keyword;// 使用关键字作为函数名fnr#return()-i32{42}// 调用letresultr#return();使用场景与其他语言的 FFI 交互时对方的函数名可能是 Rust 关键字与旧版本 Rust 代码兼容2. 关键字的上下文敏感性某些标识符只在特定上下文中是关键字// union 是关键字但可以作为字段名structData{union:bool,// ❌ 编译错误}// 需要使用原始标识符structData{r#union:bool,// ✅ 正确}3. Edition 差异不同 Edition 的关键字可能不同// Rust 2015: async 不是关键字letasync5;// ✅ 在 2015 Edition 中可以// Rust 2018: async 是关键字letasync5;// ❌ 编译错误letr#async5;// ✅ 使用原始标识符常见关键字组合模式1. 函数定义模式// 基本函数fnfunction_name(){}// 带参数和返回值fnadd(a:i32,b:i32)-i32{ab}// 泛型函数fngenericT(value:T)-T{value}// 带生命周期fnlongesta(x:astr,y:astr)-astr{x}// 异步函数asyncfnfetch()-String{data.to_string()}// Unsafe 函数unsafefndangerous(){}// 外部函数externCfncallback(){}// 常量函数constfnconst_add(a:i32,b:i32)-i32{ab}2. 结构体与实现模式// 定义结构体pubstructPoint{pubx:i32,puby:i32,}// 实现方法implPoint{pubfnnew(x:i32,y:i32)-Self{Self{x,y}}pubfndistance(self)-f64{((self.x.pow(2)self.y.pow(2))asf64).sqrt()}}// 实现 Traitimplstd::fmt::DisplayforPoint{fnfmt(self,f:mutstd::fmt::Formatter)-std::fmt::Result{write!(f,({}, {}),self.x,self.y)}}3. 模块与导入模式// 定义模块modutils{pubfnhelper(){}pub(crate)fninternal(){}pub(super)fnparent_only(){}}// 导入usestd::collections::HashMap;usestd::io::{self,Read,Write};usecrate::utils::helper;usesuper::parent_function;// 重导出pubuseself::utils::helper;4. 匹配与控制流模式// match 表达式matchvalue{Some(x)ifx0println!(positive),Some(x)println!(non-positive),Noneprintln!(none),}// if letifletSome(x)option_value{println!({},x);}// while letwhileletSome(x)iterator.next(){println!({},x);}// for 循环foriin0..10{ifi%20{continue;}println!({},i);}// loop 带标签outer:loop{loop{breakouter;}}快速查找索引按功能分类变量与常量let,mut,const,static类型定义struct,enum,union,type,trait实现impl,fn控制流if,else,match,loop,while,for,break,continue,return模块系统mod,pub,use,crate,super,self,Self,extern所有权ref,move,as泛型与约束where,dyn异步async,await安全unsafe宏macro_rules!按字母排序as,async,await,break,const,continue,crate,dyn,else,enum,extern,fn,for,if,impl,in,let,loop,match,mod,move,mut,pub,ref,return,self,Self,static,struct,super,trait,type,union,unsafe,use,where,while本附录小结Rust 当前有40 个活跃关键字涵盖声明、控制流、模块、所有权、异步等各个方面保留关键字为未来功能预留不能用作标识符使用原始标识符(r#keyword) 可以在必要时使用关键字作为名称不同Edition的关键字集合可能不同升级时需注意理解关键字的组合模式有助于快速编写惯用的 Rust 代码提示将本速查表保存为书签在编码时快速查阅

相关新闻

深入解析FSI模块:软件触发Ping帧与DMA传输机制

深入解析FSI模块:软件触发Ping帧与DMA传输机制

1. FSI模块核心机制与设计思路拆解 在嵌入式实时控制系统中,处理器与外设或处理器之间的高速、可靠数据通信是系统稳定运行的基石。德州仪器(TI)的TMS320F28004x系列微控制器集成的快速串行接口(Fast Serial Interface&#xff0c…

2026/7/25 20:58:05 阅读更多 →
AI伦理三脚架:原则、流程与工具的落地断层解析

AI伦理三脚架:原则、流程与工具的落地断层解析

1. 项目概述:一个被反复加固却始终晃动的伦理支架 “IBM’s AI Ethics”这个短语在2018年前后曾是科技伦理领域最常被引用的正面案例之一——它代表一家老牌科技巨头主动设立AI原则、公开发布《AI价值观白皮书》、成立跨部门AI伦理委员会、甚至宣布退出面部识别商业…

2026/7/25 20:57:37 阅读更多 →
Java面试突击:从八股文背诵到构建最小知识体系与问题拆解框架

Java面试突击:从八股文背诵到构建最小知识体系与问题拆解框架

最近和几个准备秋招的朋友聊天,发现一个挺有意思的现象:大家手里都攒着几十个G的面试资料,从“Java面试宝典”到“八股文大全”,应有尽有。但真坐下来准备时,却感觉无从下手,知识点像一盘散沙,背…

2026/7/21 22:53:44 阅读更多 →

最新新闻

AI驱动内存泄漏检测:原理、工具与实战优化

AI驱动内存泄漏检测:原理、工具与实战优化

1. 内存泄漏检测的现状与挑战在软件开发领域,内存泄漏问题就像房间里慢慢漏气的气球,虽然不会立即导致程序崩溃,但随着时间的推移会逐渐耗尽系统资源。传统的内存泄漏检测方法主要依赖开发人员手动排查,这种方式不仅效率低下&…

2026/7/25 21:00:01 阅读更多 →
【企业级AI分类自动化白皮书】:覆盖12类非结构化数据,含可复用Python Pipeline代码库

【企业级AI分类自动化白皮书】:覆盖12类非结构化数据,含可复用Python Pipeline代码库

更多请点击: https://intelliparadigm.com 第一章:企业级AI分类自动化的核心价值与演进路径 在数字化转型纵深推进的今天,企业面临海量非结构化数据的持续涌入——邮件、工单、合同、客服对话、OCR扫描件等日均增长以TB计。传统基于规则引擎…

2026/7/25 21:00:01 阅读更多 →
当ChatPPT遇上Nano Banana Pro:一场PPT制作方式的智能革命

当ChatPPT遇上Nano Banana Pro:一场PPT制作方式的智能革命

想象一下,在需要制作一份重要报告时,你不再需要从海量模板库中费力筛选,也不必为了调整某个元素的位置而耗费数小时。当ChatPPT与谷歌最新图像模型Nano Banana Pro深度融合,PPT制作正经历从“工具辅助”到“智能设计伙伴”的质的飞…

2026/7/25 21:00:01 阅读更多 →
5分钟掌握芯片设计自动化:gdsfactory高级功能深度解析与实战应用

5分钟掌握芯片设计自动化:gdsfactory高级功能深度解析与实战应用

5分钟掌握芯片设计自动化:gdsfactory高级功能深度解析与实战应用 【免费下载链接】gdsfactory A Python library for designing chips (Photonics, Analog, Quantum, MEMS), PCBs, and 3D-printable objects. We aim to make hardware design accessible, intuitive…

2026/7/25 21:00:01 阅读更多 →
基于深度学习的海洋壳类生物识别技术实践

基于深度学习的海洋壳类生物识别技术实践

1. 项目背景与核心价值海洋生物识别一直是计算机视觉领域极具挑战性的研究方向。传统的海洋生物分类主要依赖人工观察和形态学分析,效率低下且容易受主观因素影响。而基于深度学习的自动化识别技术,能够大幅提升分类准确率和效率。这个毕业设计项目选择海…

2026/7/25 21:00:00 阅读更多 →
大模型功能对比 及 token,request收费情况 (没有广告推广啊,是官方的信息)

大模型功能对比 及 token,request收费情况 (没有广告推广啊,是官方的信息)

////////////////////////////GPT-5.6 Sol vs Terra vs Luna 完整比較 /////////////////// ////////////////////////////////////////////// ///////////////////////////////////////////////# 大模型功能对比分析 ## 📊 模型分类概览 ### 一、代码生成类&…

2026/7/25 20:59:00 阅读更多 →

日新闻

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:00:35 阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:00:35 阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:00:35 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/25 5:08:22 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/25 5:13:53 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻