gpt4 book ai didi

enums - 在 Rust 中,有没有一种方法可以遍历枚举的值?

转载 作者:行者123 更新时间:2023-11-29 07:40:19 27 4
gpt4 key购买 nike

我有 Java 背景,我可能有类似 enum Direction { NORTH, SOUTH, EAST, WEST} 的东西,我可以用增强的 for 循环依次对每个值做一些事情喜欢:

for(Direction dir : Direction.values())  {
//do something with dir
}

我想对 Rust 枚举做类似的事情。

最佳答案

您可以使用 strum crate 以轻松地遍历枚举的值。

use strum::IntoEnumIterator; // 0.17.1
use strum_macros::EnumIter; // 0.17.1

#[derive(Debug, EnumIter)]
enum Direction {
NORTH,
SOUTH,
EAST,
WEST,
}

fn main() {
for direction in Direction::iter() {
println!("{:?}", direction);
}
}

输出:

NORTH
SOUTH
EAST
WEST

关于enums - 在 Rust 中,有没有一种方法可以遍历枚举的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21371534/

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