如何在Rust中循环遍历枚举的所有变体?
你好!我刚开始学习Rust,遇到了一个问题。我有一个描述颜色的枚举:
```rust
enum Color {
Red,
Green,
Blue,
Yellow,
}
```
我需要将所有可能的颜色输出到控制台,但不知道如何实现。在其他语言(例如Python或Java)中,我只需使用for循环或获取所有值的列表,但在Rust中我没有找到内置的方法。
我尝试过类似这样的代码:
```rust
for color in Color {
println!("{:?}", color);
}
```
但编译器报错:`Color` 没有实现 `Iterator` trait。
我听说Rust是一种没有运行时反射的语言,可能枚举本身并不设计用于迭代。但我觉得奇怪的是,在静态类型语言中竟然没有遍历所有变体的方法。也许我遗漏了什么?有没有什么宏或库可以实现这一点?
请告诉我如何正确解决这个问题。我确实需要遍历所有变体。