gpt4 book ai didi

rust - 我可以在以元组为值的 rust 中创建枚举吗?

转载 作者:行者123 更新时间:2023-12-03 11:43:14 25 4
gpt4 key购买 nike

我可以将元组作为枚举的值吗?基本上,我希望这样做是为了使用整数值作为数据库输入,并使用字符串值作为对UI调用者的友好响应。

例如:

#[derive(Deserialize, Debug)]
enum MyTestType {
A(0, "Default"),
B(1, "something else"),
C(18, "18"),
D(4, "D")
}

我在 rust 中使用Serde crate ,为了避免在此处使用结构,使用它很方便

最佳答案

当然:

use serde::Serialize;
use serde_json;

#[derive(Serialize)]
enum Test {
A(u32, String), // NOT a tuple
B((u32, String)) // actual tuple
}

fn main () {
let a = Test::A(15, "Hello".to_string());
let b = Test::B((42, "Hi".to_string()));

println!("{}", serde_json::to_string(&a).unwrap());
println!("{}", serde_json::to_string(&b).unwrap())
}

输出:
{"A":[15,"Hello"]}
{"B":[42,"Hi"]}

关于rust - 我可以在以元组为值的 rust 中创建枚举吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61633825/

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