Rust 编程:常量泛型、不安全代码与外部 crate 探索
1. 常量泛型
在 Rust 中,我们之前已经了解了两种泛型参数:类型泛型和生命周期泛型。现在,我们迎来了第三种泛型参数——常量泛型。
1.1 泛型回顾
- 类型泛型 :这是我们最熟悉的泛型,例如
T: Debug表示任何实现了Debug特性的类型。当 Rust 用户提及泛型时,通常指的就是类型泛型。 - 生命周期泛型 :生命周期也是一种泛型。例如,函数中使用
'static生命周期,表示任何具有'static生命周期的类型。
1.2 常量泛型的引入
在 2021 年,Rust 引入了常量泛型。在此之前,处理数组时存在一些痛点。因为数组的类型不仅取决于元素类型,还取决于元素数量,所以 [i32; 3] 和 [i32; 4] 是不同的类型。这使得在处理不同大小的数组时变得复杂。
例如,定义一个包含两个数组的结构体:
struct Buffers {
array_one: [u8; 640],
array_two: [u8; 640]
}
如果我们需要更大的缓冲区,比如 1280 字节,就需要定义一个新的结构体:
超级会员免费看
订阅专栏 解锁全文
39

被折叠的 条评论
为什么被折叠?



