我在我的应用程序中创建了如下严格:
类型 数据类型 int8
常量(
用户数据类型 = iota
地址
测试
)
var datatypes = [...]string{"用户", "地址", "测试"}
func (数据类型 数据类型) String() string {
返回数据类型[数据类型]
}
我希望能够针对此枚举验证通过命令行标志传递的值。
我以为我看到了类似dtype == Datatype被利用的情况,但显然我大错特错了。
如果这是不可能的,我可以将这些值放入数组中。然而,我觉得枚举方法更优雅。
从您的代码示例来看,您似乎正在尝试查看映射(而不是结构)是否包含特定的键。
如果是的话,答案就在这里
二值赋值测试键是否存在:
Run Code Online (Sandbox Code Playgroud)i, ok := m["route"]在此语句中,第一个值 (i) 被分配给存储在键“route”下的值。如果该键不存在,则 i 是值类型的零值 (0)。第二个值 (ok) 是一个 bool,如果键存在于映射中则为 true,否则为 false。
要测试键而不检索值,请使用下划线代替第一个值:
Run Code Online (Sandbox Code Playgroud)_, ok := m["route"]
| 归档时间: |
|
| 查看次数: |
7745 次 |
| 最近记录: |