检查枚举中是否存在值

我在我的应用程序中创建了如下严格:


type 数据类型 int8


常量 (

    用户数据类型 = iota

    地址

    测试

)


var datatypes = [...]string{"User", "Address", "Test"}


func (datatype Datatype) String() string {

    返回数据类型[数据类型]

}

我希望能够针对此枚举验证通过命令行标志传递的值。


我以为我看到了类似dtype == Datatype被利用的东西,但我显然大错特错了。


如果这是不可能的,我可以将这些值放入数组中。但是,我觉得 enum 方法更优雅。


守候你守候我
浏览 221回答 1
1回答

人到中年有点甜

从您的代码示例中,您似乎正在尝试查看地图(而不是结构)是否包含特定键。如果是这样,答案在这里二值赋值测试键的存在:i, ok := m["route"]在该语句中,第一个值 (i) 被分配了存储在键“route”下的值。如果该键不存在,则 i 是值类型的零值 (0)。第二个值 (ok) 是一个布尔值,如果键存在于地图中则为真,否则为假。要在不检索值的情况下测试键,请使用下划线代替第一个值:_, ok := m["route"]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go