以数字开头的值的约定



我正在Rust中创建一个区域库,我需要一个区域enum。

大多数地区代码可以表示为枚举值,Uk, Jp, Kr ... .但也有一些地区代码只包含数字,如001、002……等。

所以我将枚举写成如下所示:

#[derive(Debug, PartialEq, Eq)]
#[repr(u16)]
pub enum Territory {
_001,
_002,
Us,
Uk,
Jp,
Kp,
Kr,
}

然而,在Rust中,以下划线开头的名字有不同的含义。所以我在犹豫这是不是正确的方法。

这种情况还有别的办法吗?在其他设计良好的库中有这样的例子吗?

我认为对于这种情况没有特定的约定。我建议你选择一个字母或一个简短的单词作为前缀。例如:Num001,Num002, ....如果您希望对枚举变量进行排序,并且以某种方式将数值置于列表的顶部或底部,甚至一些人工前缀(如AaaZzz)也可能不是一个坏主意。

最新更新