海哥 发表于 2024-9-3 00:37:35

【Rust练习】11.struct

练习题来自:https://practice-zh.course.rs/compound-types/struct.html
1 对于结构体,我们必须为其中的每一个字段都指定具体的值

// fix the error
struct Person {
    name: String,
    age: u8,
    hobby: String
}
fn main() {
    let age = 30;
    let p = Person {
      name: String::from("sunface"),
      age,
    };
}
结构体的初始化,需要将每个字段都赋值才行。
struct Person {
    name: String,
    age: u8,
    hobby: String
}
fn main() {
    let age = 30;
    let p = Person {
      name: String::from("sunface"),
      age,
      hobby:String::from("sunface")
    };
}
题外话,Rust的结构体显然和C大概C++的结构体不太一样,对于C的结构体来说,不存在批量初始化这个说法,结构体都是基本类型,自带初值,赋值需要逐个字段;C++的结构体其实就是public class,初始化方式多种多样,还有面向对象的一系列特征。
而Rust并不是一个面向对象语言(至少它自己不觉得是)
2
页: [1]
查看完整版本: 【Rust练习】11.struct