随笔分类 - Rust
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/rust-by-example/scope/lifetime/lifetime_bounds.html 示例 main.rs use std::fmt::Debug; // 包含
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/lifetime/trait.html 示例 main.rs #[derive(Debug)] struct Borro
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/lifetime/struct.html 示例 main.rs #[derive(Debug)] struct Borr
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/lifetime/methods.html 示例 main.rs struct Owner(i32); impl Own
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/lifetime/fn.html 示例 main.rs fn print_one<'a>(x: &'a i32) { p
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/lifetime.html 示例 生存期(lifetime),也叫生命周期等,rust 使用生存期来保证所有的借用都是有
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/lifetime/explicit.html 示例 生存期的标注,使用撇号来标注。 main.rs // 标注了两个生存
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/borrow/ref.html 示例 取引用可以使用 & 和 ref 关键字,它们有各自的使用场景。 main.rs #
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/borrow/alias.html 示例 进行借用时,可以以不可变借用多次。但是在不可变借用的时候,不能进行可变借用。同
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/borrow/mut.html 示例 main.rs #[derive(Clone, Copy)] struct Boo
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/borrow.html 示例 通过引用来传递对象,在 rust 中称为借用。 main.rs fn eat_box_i3
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/move/partial_move.html 示例 main.rs fn main() { #[derive(Debug
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/move/mut.html 示例 在发生所有权转移时,数据的可变性可能发生改变。 main.rs fn main() {
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/move.html 示例 因为变量要负责释放他们的资源,所有一个资源只能有一个所有者,避免重复释放,其中引用不拥有资源。
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/scope/raii.html 示例 在 Rust 中,会强制实行 RAII(Resource Acquisition Is Ini
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics/phantom.html 示例 虚类型参数不会在运行时出现,仅在编译时进行静态类型检查的类型参数。 main.rs
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics/phantom/testcase_units.html 示例 main.rs use std::marker::P
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics/assoc_items/types.html 示例 main.rs struct Container(i32, i
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics/new_types.html 示例 如果直接使用基础类型容易误导和出错,可以考虑定义一种新的类型,来提供编译保证。
阅读全文
摘要:环境 Rust 1.56.1 VSCode 1.61.2 概念 参考:https://doc.rust-lang.org/stable/rust-by-example/generics/where.html 示例 泛型约束除了可以写在泛型定义的后面,还可以使用 where 子句来表达,这样更具表现力
阅读全文