练习题来自: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 |