结构体

结构体是一种可以为空或可以有一个以上字段的复合数据类型,这跟C语言和Golang中的结构体类似。

结构体的定义

Rust定义结构体的方式比较简单,只要使用struct关键字后面跟上结构体名字即可。

一般的定义如下所示

/// 定义一个空的结构体
/// 如果这个结构体中没有包含任何字段,后面的花括号可以省略
struct IsNullStruct;

/// 定义一个带有字段的结构体
/// 定义带有字段的结构体时,字段名和类型标注应用冒号进行分割,各个字段间用逗号分割
struct SingleDog {
    name: String,
    gender: i32,
}
结构体的初始化

Rust有多种方式对结构体进行初始化,有包括如下几种

  1. 正常初始化

    #[derive(Debug)]
    struct SingleDog {
        name: String,
        gedner: i32,
    }
    
    /// 带有类型标注的结构体初始化
    let json: SingleDog = SingleDog {
        name: String::from("single Dog 1"),
        gender: 1,
    };
    
    /// 没有带类型标注的结构体初始化
    let sum = SingleDog {
        name: String::from("single dog 2"),
        gender: 2,
    }
    
    println!("the single dog 1 is : {:?}", json);
    println!("the single dog 2 is : {:?}", sum);
    

that's all

results matching ""

    No results matching ""