gpt4 book ai didi

rust - 如何从vec中的枚举中获取值?

转载 作者:行者123 更新时间:2023-12-03 11:45:02 27 4
gpt4 key购买 nike

我有一个定义如下表(TableCell)的枚举。然后,我创建一个Vec(行)并将TableCell插入行中。然后,我将另一个Vec(table_data)放入行中。最后,我输出存储在table_data中的值:

#[derive(Debug)]
enum TableCell {
Label(String),
Float(f32),
}

let mut row = vec![];

row.push(TableCell::Float(client_budget.cost)); //(client_budget.cost = 1000.00)

let mut table_data = Vec::new();

table_data.push(row);

for value in table_data.iter() {
println!("{:#?}", value)
}
我的输出显示为Float(1000.00)。我如何只获得1000.00?

最佳答案

你可以做

// ...

for value in table_data.iter() {
if let TableCell::Float(float) = value {
println!("{}", float);
}
}
或者,如果您需要同时打印:
for value in table_data.iter() {
match value {
TableCell::Label(label) => println!("{}", label),
TableCell::Float(float) => println!("{}", float),
}
}

关于rust - 如何从vec中的枚举中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63332122/

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