如何在rust中用枚举类型初始化变量?

jaql4c8m  于 2023-01-13  发布在  其他
关注(0)|答案(1)|浏览(163)

例如,

enum People {
    Bad,
    Good,
}

我想用枚举类型初始化一个变量,
然后我将使用if语句为变量赋枚举值,
我想使用如下变量:

fn main(){
    People he;
    if sth {
         he = People::Good;
    }else{
         he = People::Bad;
    }
    dosth(&he);
}

我看了医生,但不知道怎么做。

50few1ms

50few1ms1#

您可能正在尝试写入:

enum People {
    Bad,
    Good,
}

fn dosth(p: &People) {}

fn main() {
    let he;
    if true {
        he = People::Good;
    } else {
        he = People::Bad;
    }
    dosth(&he);
}

Rust使用关键字let来定义一个变量。你可以给它赋一个类型,比如let he: People;,但是通常Rust能够自己判断类型。Rust是非常强类型的,如果它不能判断类型,它会给予你一个编译器错误。

相关问题