如何在 Rust 中遍历枚举的所有变体?
大家好!我刚开始学习 Rust,遇到了一个问题。我有一个描述颜色的枚举:
```rust
enum Color {
Red,
Green,
Blue,
Yellow,
}
```
我需要将所有可能的颜色输出到屏幕,或者例如将它们保存到 vector 中。在其他语言(如 Java 或 C#)中,我会使用 `values()` 或类似的方法。但在 Rust 中,我没有找到内置的方法来简单地遍历 `enum` 的所有变体。
我尝试过写类似这样的代码:
```rust
for color in Color {
println!("{:?}", color);
}
```
但编译器报错说 `Color` 没有实现 `Iterator` trait。我知道 Rust 是一种系统语言,有自己的哲学,但难道就没有简单的方法来遍历枚举的所有常量吗?也许有某种宏或库?或者每次都需要手动编写一个返回所有变体的函数?
请告诉我正确的方法。提前感谢!
<<>>