程序命令行按照顺序进行传递、没有名称标识的数据叫做参数(Argument
),参数的输入具有顺序性。
控制程序逻辑的附加输入、并且具有名称标识的数据叫做选项(Options
),选项名称以-
或者--
字符串作为前缀,选项是无序的,可以放置于命令行中任意位置。选项可以带有数据,也可以不带数据。在其他类似的第三方功能组件里面,选项的功能类似于标识(Flag
)。
此外,根据传统的命令行管理习惯,选项可以设置缩写别名(Short
),用于简化命令行参数输入。缩写别名往往设定为一个单字母。
gcmd
组件支持选项的位置在命令行中是任意的,也就是说,以下命令行选项输入其实意义是一样的:
gf build main.go -a amd64 -o linux -n app -yes
gf -a amd64 -o linux build main.go -yes -n app
gf -yes -n app build -o linux -a amd64 main.go
其中:
gf
/build
/main.go
是参数,索引分别为 0
, 1
, 2
;因为参数是有序性的,因此无论命令行怎么修改,这三者的顺序却无法改变 a
/o
/n
是带有数据的选项,由于是顺序无关的,通过选项名称获取数据,因此可以随意放置位置 yes
是不带数据的选项,也可以随意放置位置 命令行的选项与数据之间可以通过空格,也可以通过=
符号进行连接,如:
gf build main.go -a=amd64 -o=linux -n=app -yes
由于gcmd
模块提供了一些包方法用以获取默认的命令行解析规则。在默认规则下,将会自动识别参数与选项。
gf build main.go -a=amd64 -o=linux -n=app -yes
在默认规则下:
gf
/build
/main.go
是参数,索引分别为0
, 1
,2
。 a
/o
/n
/yes
将会被解析为选项,并且yes
为无数据选项。gf build main.go -a amd64 -o linux -n app -yes
在默认规则下:
gf
/build
/main.go
是参数,索引分别为 0
, 1
, 2
。 a
/o
/n
/yes
将会被解析为选项,并且yes
为无数据选项备案信息: 粤ICP备15087711号-2
Copyright © 2008-2024 啊嘎哇在线工具箱 All Rights.
本站所有资料来源于网络,版权归原作者所有,仅作学习交流使用,如不慎侵犯了您的权利,请联系我们。