gpt4 book ai didi

rust - 使用 From 特征触发将 u8 转换为枚举

转载 作者:行者123 更新时间:2023-11-29 08:15:16 26 4
gpt4 key购买 nike

<分区>

我有这个代码:

#[derive(PartialEq, PartialOrd)]
enum ValueType {
k1,
k2,
kUnknown,
}

impl ValueType {
fn value(&self) -> u8 {
match *self {
ValueType::k1 => 0x0,
ValueType::k2 => 0x1,
ValueType::kUnknown => 0xff,
}
}
}

impl From<u8> for ValueType {
fn from(orig: u8) -> Self {
match orig {
0x0 => return ValueType::k1,
0x1 => return ValueType::k2,
_ => return ValueType::kUnknown,
};
}
}

fn main() {
let a: ValueType = 0x0 as u8; // error, expected enum `ValueType`, found u8
}

我想将 u8 转换为 ValueType。我如何以 Rust 方式做到这一点?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com