go - 如何限制字符串标志中可接受的值范围?
问题描述
我声明了一个带有默认值的字符串标志,如下所示:
animalFlag := flag.String("typeOfAnimal", "Cat", "Type of animal")
我想强制该用户只能给出一个特定的字符串(如"Dog"
, "Lion"
)而不是一些随机字符串,如"Rose"
. 我如何在 Go 中执行此操作?
解决方案
flag包不支持限制标志的有效/接受值集。
您可以做的是执行标志值验证,这通常是一种很好的做法:在应用程序开始时检查值,如果提供的值无效(根据您的任意规则),则停止并显示错误消息。
请参阅相关问题:Go 中的命令行标志可以设置为强制吗?
推荐阅读
- swift - 我无法通过协议在视图控制器之间传递数据
- typescript - tsc 不允许我使用 await 关键字进行编译,即使我使用的函数是异步的
- reactjs - typescript.lib/lib.dom.d.ts 中的 HTMLElement 定义被 @types/react/global.d.ts 覆盖
- c - 在Linux中以编程方式运行pdftotext x.pdf y.txt?
- java - 在 Android Studio 中从 Java 更改 String.xml 文件
- postgresql - 在 PostgreSQL 中创建汇总表
- android - 如何在不将新版本发布到 Play 商店的情况下更新应用程序的内容
- python - 硒 - text_to_be_present_in_element 和 text_to_be_present_in_element_value 之间的区别
- asp.net-core - ASP.NET Core - 在运行时更改 JWT SecurityKey
- javascript - Gulp-Uglify 错误:意外令牌:名称(Quill)