Rust 的结构体

Rust 的结构体

结构体类型

struct Person {
    age: u32,
    name: String
}

let alice = Person {
    age: 20,
    name: String::from("Alice")
}

结构体方法

结构体可以有方法和关联函数,在 impl 块中实现。包含 self&self&mut self 的函数为方法,由 结构体.方法名() 调用;不包含的为关联函数,用 结构体名::关联函数名() 的方式调用。

impl Person {
    fn new(age: u32, name: String) -> Self {
        Self {
            age: age,
            name: name
        }
    }
    fn hello(&self) {
        println!("Hello! My name is {}.", name);
    }
}

let bob = Person::new(19, String::from("Bob"));
bob.hello();

执行以上代码将输出:

Hello! My name is Bob.