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)`元组类型.
相关推荐
沐森20 小时前
使用rust打开node的libuv实现多线程调用三种模式
javascript·rust
苏近之21 小时前
Rust 基于 Tokio 实现任务管理器
后端·架构·rust
Source.Liu1 天前
【Rust】方法重载
rust
QC七哥1 天前
基于tauri构建全平台应用
rust·electron·nodejs·tauri
wadesir1 天前
Rust中的条件变量详解(使用Condvar的wait方法实现线程同步)
开发语言·算法·rust
hans汉斯1 天前
嵌入式操作系统技术发展趋势
大数据·数据库·物联网·rust·云计算·嵌入式实时数据库·汉斯出版社
Source.Liu2 天前
【Rust】布尔类型详解
rust
清醒的土土土2 天前
Tokio 源码学习01——Mutex
rust
分布式存储与RustFS2 天前
实测!Windows环境下RustFS的安装与避坑指南
人工智能·windows·rust·对象存储·企业存储·rustfs
唐装鼠2 天前
rust AsRef 和 AsMut(deepseek)
rust