写我不知上进,写我贪玩误学,写我缺乏志向,写我遇人不惜,写我蹉跎人生十余载,也未学得一技之长傍身,苟且于市井之间,写我多年八方谋业,东奔西跑,跌跌撞撞一事无成,写我胸中无半分水墨,难书锦绣文章,写我错过风口浪尖年,悔恨晚矣,仅煸人泪下,还是写花有重开日,人无再少年。
1. 结构体(Structs)深度解析 什么是结构体? 结构体是一种自定义数据类型,允许你将多个相关的值组合在一起,形成一个有意义的组合。 定义和使用结构体 // 1. 基本结构体定义 struct User { username: String, // 字段:用户名 email: String, // 字段:邮箱 sign_in_count: u64, // 字段:登录次数 active: bool, // 字段:是否活跃 } // 2. 创建结构体实例 fn create_user() { // 不可变实例 let user1 = User { email: String::from("alice@example.com"), username: String:
1. 什么是生命周期? 生命周期是引用有效的作用域范围。在 Rust 中,每个引用都有一个生命周期,这是它保持有效的作用域。 fn main() { // 生命周期开始 let x = 5; // x 的生命周期开始 let r = &x; // r 的生命周期开始,引用 x println!("r = {}", r); // 生命周期结束 } // x 和 r 的生命周期结束 2. 为什么需要生命周期? 问题:悬垂引用(Dangling References) // 这个代码无法编译! fn main() { let reference; { let value = 42; // value 在内部作用域创建
1. 所有权 所有权是 Rust 最独特的特性,它让 Rust 无需垃圾回收即可保证内存安全。 所有权规则 1. Rust 中的每一个值都有一个被称为其所有者的变量。 2. 值在任一时刻有且只有一个所有者。 3. 当所有者(变量)离开作用域,这个值将被丢弃。 变量与数据交互的方式 移动 fn main() { let s1 = String::from("hello"); // s1 拥有字符串 "hello" let s2 = s1; // s1 的所有权被移动(move)到 s2 // println!("{}, world!", s1); // 这行会编译错误!s1
© 2025 路不易All rights reserved.
贵公网安备52052402000220号