Rust 结构体:打造自定义角色
结构体 (Structs) 允许你将多个相关的值(可能是不同类型)组合成一个有意义的组合。类似于其他语言中的 Object 或 Record。
📋 定义结构体
使用 struct 关键字。
struct Official {
name: String,
rank: u8, // 9品
active: bool,
}
fn main() {
// 实例化
let bao = Official {
name: String::from("包龙星"),
rank: 9,
active: true,
};
println!("{} 是 {} 品官", bao.name, bao.rank);
}
🏗️ 元组结构体 (Tuple Structs)
没有字段名,只有字段类型。用于简单的包装。
struct Color(i32, i32, i32);
fn main() {
let black = Color(0, 0, 0);
println!("Black R: {}", black.0);
}
🛠️ 方法 (Methods)
使用 impl 块为结构体定义方法。方法的第一个参数通常是 &self。
struct Official {
name: String,
rank: u8,
}
impl Official {
// 构造函数(约定俗成叫 new,不是语法强制)
fn new(name: String) -> Official {
Official { name, rank: 9 }
}
// 实例方法
fn introduce(&self) {
println!("本官乃 {} 品候补知县 {}!", self.rank, self.name);
}
}
fn main() {
let bao = Official::new(String::from("包龙星"));
bao.introduce();
}