Rust的trait系统

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

Rust结构体

在 Rust 类型系统中,结构体(Struct)和枚举体(Enum)都属于 代数数据类型(ADT, Algebraic Data Type) 。 ADT 指的是指的是具备代数能力的数据类型,

Rust枚举

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

Rust析构顺序

一般来讲,变量的析构顺序和声明顺序相反,但是并不是所有的情况都是这样。 本地变量 本地变量先声明后析构。 1 2 3 4 5 6 7 8 9 10 11 struct PrintDrop(&'static str); impl Drop for PrintDrop { fn

Rust字符串

字符串编码 rust 中的字符串都是使用的 UTF-8 编码,rust 代码文件也是 UTF-8 编码, 如果不是,rust 会报错。 1 2 3 4 5 6 7 8 9 10 11 12 13 use std::str; fn main() { let tao = str::from_utf8(&[0xE9u8, 0x81u8,