Rust RAII 模式

一个送信的逻辑: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 #[derive(Clone)]pubstruct Letter{text: String,}pubstruct Envelope{letter: Option<Letter>,}pubstruct PickupLorryHandle{done: bool,}implLetter{pubfn new(text: String)-> Self{Letter{text:

Rust字符串

字符串编码 rust 中的字符串都是使用的 UTF-8 编码,rust 代码文件也是 UTF-8 编码, 如果不是,rust 会报错。 1 2 3 4 5 6 7 8 9 10 11 12 13 usestd::str;fn main(){lettao=str::from_utf8(&[0xE9u8,0x81u8,0x93u8]).unwrap();// UTF8 到 str asser

Rust析构顺序

一般来讲,变量的析构顺序和声明顺序相反,但是并不是所有的情况都是这样。 本地变量 本地变量先声明后析构。 1 2 3 4 5 6 7 8 9 10 11 struct PrintDrop(&'staticstr);implDropforPrintDrop{fn drop(&mutself){println!("Dropping {}",self.0)}}fn main(){let_x=PrintDrop("x");let_y=PrintDrop("y");} 元组 1 2

Rust枚举

在 Rust结构体 中讲了枚举体也是代数数据类型,属于其中的和类型,满足加法原理。 使用枚举体来定义颜色。从而重构 Rust结构体 中的代码。 1 2 3 4

Rust的trait系统

trait 是 Rust 的灵魂,Rust 中的所有抽象,如接口抽象,OOP 范式抽象,函数式范式抽象,都是基于 trait 完成的。 trait 是在行为上对类型的约束,这种约束让 trait 有如