为了账号安全,请及时绑定邮箱和手机立即绑定

检查枚举中是否存在值

检查枚举中是否存在值

Go
守候你守候我 2021-09-27 21:17:08
我在我的应用程序中创建了如下严格:type 数据类型 int8常量 (    用户数据类型 = iota    地址    测试)var datatypes = [...]string{"User", "Address", "Test"}func (datatype Datatype) String() string {    返回数据类型[数据类型]}我希望能够针对此枚举验证通过命令行标志传递的值。我以为我看到了类似dtype == Datatype被利用的东西,但我显然大错特错了。如果这是不可能的,我可以将这些值放入数组中。但是,我觉得 enum 方法更优雅。
查看完整描述

1 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

从您的代码示例中,您似乎正在尝试查看地图(而不是结构)是否包含特定键。

如果是这样,答案在这里

二值赋值测试键的存在:

i, ok := m["route"]

在该语句中,第一个值 (i) 被分配了存储在键“route”下的值。如果该键不存在,则 i 是值类型的零值 (0)。第二个值 (ok) 是一个布尔值,如果键存在于地图中则为真,否则为假。

要在不检索值的情况下测试键,请使用下划线代替第一个值:

_, ok := m["route"]


查看完整回答
反对 回复 2021-09-27
  • 1 回答
  • 0 关注
  • 220 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信