2510rs,rust清单1

原文

rust必背知识点

数据结构

通过关键字定义数据类型内存位置.

示例,说明

cpp 复制代码
struct S {}
//用命名字段定义结构
 struct S { x: T }
//用T类型的x命名字段定义结构.
 struct S  (T);
//用T类型的`.0`编号字段,定义"元组"结构.
 struct S;
//定义零大小的`单位结构`.不占据空间,优化掉.
enum E {}
//定义枚举,代数`数据类型`,标签联.

 enum E { A, B (), C {} }
//定义枚举的变量;可以是`A`单元,`B()`元组和类似结构的`C{}`.
 enum E { A = 1 }
//有显式判定值的枚举,如,对`FFI`.

 enum E {}
//没有变量的枚举,
union U {}
//针对`FFI`兼容的不安全的类C联
static X: T = T();
 //带`'静态生命期,单内存位置`的`全局变量`

const X: T = T();
//定义常量,使用时,复制进临时

let x: T;
//按x在栈上分配T字节.可分配一次,不可更改.
let mut x: T;
//类似`let`,但允许可变和可变借用.

 x = y;
 //将y移动进`x`,如果T不是`Copy`,则为`y`,否则为`STD`和`copyingy`.

1,在库中,根据如何导入你的crate,你可能会秘密地得到多个X实例.

2,为了同步代码在栈上绑定变量.在async{}中,它们成为可能驻留在堆上异步状态机的一部分.

3,技术上,可变和不变是用词不当.不变的绑定或共享引用可能仍包含单元,从而提供内部可变性.

创建并访问数据结构;以及一些更多类型.

cpp 复制代码
//解释
S { x: y }
//创建结构`S{}`或使用枚举按`y`设置x字段的`E::S{}`.
S { x }
//相同,但对x字段使用`x局部变量`.
S { ..s }
 //填充s中的剩余字段,尤其是使用`Default::default()`很有用.

S { 0: x }
//与下面的`S(x)`类似,但使用`构`语法设置`.0`字段.
S  (x)
//创建结构`S(T)`或使用按`x`设置`.0`字段的`E::S()`枚举.
S
//如果S是单元结构`S`;或使用枚举`E::S`创建S的值.

E::C { x: y }
//创建`C`枚举变量.上面的其他方法也有效.
()
//空元组,包括文字和类型,也叫单位.
(x)
//括号内的式.
(x,)
//单元素元组式.
(S,)
//单元素元组类型.
[S]
 //未规范的数组类型.长度,即切片.不能在栈上
[S; n]
//`固定长度`的包含S类型的元素的`数组类型`.
[x; n]
//有n个x副本的数组实例(式)
[x, y]
//有给定元素x和y的数组实例.

x[0]
//集合索引,`w.usize.Impl`通过`Index,IndexMut`.
 x[..]
 //相同,通过区间(这里是全区间),也有`x[a..b],x[a..=b],..`.如下.

a..b
//右排他区间创建,如,`1..3`表示`1,2`.
..b
//没有起点的右排他区间.
..=b
//没有起点的区间.
a..=b
//包含区间,`1..=3`表示`1,2,3`.
a..
//区间从到没有终点.
..
//全区间,一般表明整个集合.
s.x
//命名字段访问,如果x不是类型S的一部分,则`引用`可能会试`解引用`.

s.0
//数字字段访问,针对`S(T)`元组类型.
相关推荐
栈与堆1 天前
LeetCode 21 - 合并两个有序链表
java·数据结构·python·算法·leetcode·链表·rust
盛者无名2 天前
Rust的所有权(Owenership)
开发语言·rust
BlockChain8882 天前
MPC 钱包实战(三):Rust MPC Node + Java 调度层 + ETH 实际转账(可运行)
java·开发语言·rust
分布式存储与RustFS2 天前
RustFS在AI场景下的实测:从GPU到存储的完整加速方案
开发语言·人工智能·rust·对象存储·企业存储·rustfs·minio国产化替代
柠檬丶抒情2 天前
Rust no_std 裸机移植:9 条避坑与实战手册
开发语言·mongodb·rust
FAFU_kyp2 天前
Rust 流程控制学习教程
学习·算法·rust
FAFU_kyp2 天前
Rust 模式匹配:match 与 if let 详解
开发语言·后端·rust
Mr -老鬼3 天前
Java VS Rust
java·开发语言·rust
张心独酌3 天前
Rust开发案例库-静态服务器
服务器·开发语言·rust
liuxuzxx4 天前
使用Rust构建MCP Server Stdio类型
rust·mcp