【发布时间】:2016-09-27 17:44:53
【问题描述】:
我有一个这样定义的 Rust 枚举
enum MyFirstEnum {
TupleType(f32, i8, String),
StuctType {varone: i32, vartwo: f64},
NewTypeTuple(i32),
SomeVarName
}
我有以下代码:
let mfe: MyFirstEnum = MyFirstEnum::TupleType(3.14, 1, "Hello".to_string());
我正在关注 Rust 文档,这看起来不错。我不需要在枚举中定义所有内容,但是我将如何访问枚举元组中的中间元素?
mfe.TupleType.1 和 mfe.1 在我将它们添加到 println! 时不起作用
我知道 Rust 提供了进行模式匹配以获取值的工具,但如果我更改代码以定义枚举中的其他变体,输出特定变体的代码很快就会变得一团糟。
有没有一种简单的方法可以在枚举中输出元组的变体(或任何其他变体)?
【问题讨论】:
-
请注意,显式类型 (
let mfe: MyFirstEnum) 是不必要的。您已经在作业的右侧指定了类型。 -
如果我更改代码以定义枚举中的其他变体,则输出特定变体的代码很快就会变得一团糟 — 你能扩展一下你的内容吗?这是什么意思?
标签: rust