【发布时间】:2018-06-20 19:17:34
【问题描述】:
是否有忽略 Go 标志的大小写(不区分大小写)?
我想让我的程序尽可能宽容和用户友好。
dbType := flags.String( "dbType", "", "The `dbType` to deploy. )
如果用户输入以下任何内容,我希望初始化此标志的值:
-dbtype
-dbType
-DBTYPE
不幸的是,对于这个项目,我仅限于使用 flag 库。
【问题讨论】:
-
标准库
flag包区分大小写。 -
@Adrian:既然是这样(我真的不打算将其作为双关语),我认为大多数 Go 程序都有区分大小写的标志名称,大多数用于在类 Unix 系统下使用。我会质疑违反该约定的用户友好性。 (我想知道 Windows 程序的约定,但我没有足够的兴趣做任何研究。)
-
典型的经典windows命令行不区分大小写,但习惯上是大写的。标志是单字符的,用正斜杠而不是破折号表示。现代 powershell 脚本使用更多类似 unix 的标志,但仍然不区分大小写。
标签: go