在Rust中,是否可以定义一个枚举而无需担心内存分配?
假设以下是我的枚举定义。
pub enum Orientation {
North,
South,
East,
West,
}
我想知道是否有可能在代码中引用同一个实例,例如 Orientation::North
。
以下代码是否会生成两个不同的 North
实例?
let o1 = Orientation::North;
let o2 = Orientation::North;
我知道可以通过定义静态变量来实现,如下所示。 是否有更好(语法更安全/更简单/更清晰)的方法来完成相同的事情?
pub enum Orientation {
North,
South,
East,
West,
}
static NORTH: Orientation = Orientation::North;
static SOUTH: Orientation = Orientation::South;
static WEST: Orientation = Orientation::West;
static EAST: Orientation = Orientation::East;