首页 > 其他分享 >Rust关键字及作用

Rust关键字及作用

时间:2023-04-04 16:12:42浏览次数:39  
标签:函数 trait 关键字 Rust 类型 声明 作用

Rust 中的关键字被特定用于定义语法规则和限制名称空间中的标识符。

  1. 以下是 Rust 中所有的关键字及其作用:
as:类型转换;
async:声明异步函数;
await:等待异步操作结果;
break:结束循环或跳出循环语句块;
const:声明常量;
continue:继续下一轮循环;
crate:当前 crate 的名称;
dyn:动态分发 trait;
else:条件不成立时执行的语句;
enum:声明枚举类型;
extern:链接外部库;
false:布尔值 false;
fn:声明函数;
for:循环语句;
if:条件语句;
impl:为类型(类型别名)实现 trait 或方法;
in:for 循环中使用,表示一个迭代器,把集合中的元素逐个取出;
let:声明变量;
loop:无限循环;
match:模式匹配;
mod:创建和使用 rust 模块;
move:将值转移到闭包中;
mut:声明可变变量;
pub:将定义的变量或函数设为公有的;
ref:引用类型;
return:从函数中返回;
Self:表示当前类型;
self:表示当前实例;
static:声明静态变量;
struct:声明结构体类型;
super:表示父模块;
trait:声明 trait 类型;
true:布尔值 true;
type:定义类型别名;
union:声明共用体类型;
unsafe:标记不安全代码块;
use:引入 crate 或模块中的路径;
where:为泛型约束添加限制;
while:循环语句。

需要注意的是,这些关键字都是 Rust 语言的一部分,因此不能作为标识符(变量、函数等)的名称使用。

  1. Rust 的保留关键字是指在 Rust 中已被保留,但暂时没有被使用的关键字。这是为了防止这些关键字在未来版本中被引入使用时,现有代码出现问题。保留关键字不能用于变量名、函数名等标识符中,但可以在一定情况下使用。

以下是 Rust 中所有的保留关键字:

abstract:在 trait 定义中,表示该方法没有默认实现;
alignof:获取类型的对齐要求;
become:未使用;
box:分配类型到堆上;
do:循环语句,不建议使用;
final:防止类型被继承;
macro:声明宏;
offsetof:获取结构体成员的偏移量;
override:重载父类的方法或属性;
priv:不让外界访问私有字段和方法;
proc:表示一个过程;
pure:未使用;
sizeof:获取类型所占用的空间大小;
typeof:获取值的类型;
unsized:表示一个动态大小的类型;
virtual:表示虚函数;
yield:生成器函数,产生一个值并暂停。

需要注意的是,这些保留关键字不能用于变量名、函数名等标识符中,但在使用 type 关键字时,可以将类型别名命名为 "Type" 等。Rust 的版本不断更新,这些保留关键字可能会在以后的版本中得到使用,因此编写 Rust 代码时需要注意使用这些保留关键字可能带来的潜在问题。

标签:函数,trait,关键字,Rust,类型,声明,作用
From: https://www.cnblogs.com/faithlocus/p/17286770.html

相关文章

  • Go 语言 new 和 make 关键字的区别
    原文链接: Go语言new和make关键字的区别本篇文章来介绍一道非常常见的面试题,到底有多常见呢?可能很多面试的开场白就是由此开始的。那就是new和make这两个内置函数的区别。其实这个问题本身并不复杂,简单来说就是,new只分配内存,而make只能用于slice、map和chan的初......
  • 一个简单的rust项目贪吃蛇
    一个贪吃蛇游戏的rust实现,使用了piston_window和randcrate。游戏使用上下左右方向键进行操控,使用R重置游戏,使用P进行暂停/启动。项目结构·├──Cargo.lock├──Cargo.toml├──src/│  ├──main.rs│  ├──snake_game/│  │ ├─......
  • 4.7 app.mount的作用效果
    这里msg的效果,在app.mount('#box')后就被覆盖掉了<!DOCTYPEhtml><html><head><metacharset="utf-8"><title></title></head><body><divid="box">......
  • maven的概念及作用
           ......
  • 长达 1.7 万字的 explain 关键字指南!
    当你的数据里只有几千几万,那么SQL优化并不会发挥太大价值,但当你的数据里去到了几百上千万,SQL优化的价值就体现出来了!因此稍微有些经验的同学都知道,怎么让MySQL查询语句又快又好是一件很重要的事情。要让SQL又快又好的前提是,我们知道它「病」在哪里,而explain关键字就是M......
  • 为什么 Python、Go 和 Rust 都不支持三元运算符?
    在编程时,我们经常要作条件判断,并根据条件的结果选择执行不同的语句块。在许多编程语言中,最常见的写法是三元运算符,但是,Python并不支持三元运算符,无独有偶,两个最热门的新兴语言Go和Rust也不支持!为什么Python不支持三元运算符呢?本文将主要分析Python在设计条件选择语法时......
  • Rust如何引入源码作为依赖
    问题描述通常我们在rust项目中引入第三方依赖包时,会直接指定包的版本,这种方式指定后,Cargo在编译时会从crates.io这个源中下载这些依赖包。[package]name="foo"version="0.1.0"edition="2021"[dependencies]j4rs=0.15.3比如这里我们就在项目中引用了j4rs这个包,这......
  • 【Java 并发】【七】【Unsafe】什么是Unsafe及其作用
    1 前言这节我们来看看JDK底层的unsafe,因为很多的操作都是依赖于unsafe提供的功能的。2  unsafe是什么?unsafe是JDK提供的一个工具类,里面的方法大多是native方法,unsafe类是JDK给你提供的一个直接调用操作系统底层功能的一个工具类,unsafe提供了非常多操作系统级别的方法。(1)比......
  • Rust编程语言入门
    Rust编程语言入门Rust简介为什么要用Rust?Rust是一种令人兴奋的新编程语言,它可以让每个人编写可靠且高效的软件。它可以用来替换C/C++,Rust和他们具有同样的性能,但是很多常见的bug在编译时就可以被消灭。Rust是一种通用的编程语言,但是它更善于以下场景:需要运行时的速度需......
  • Rust语言 学习01 简介 && 基础
    ......