W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
程序命令行按照順序進行傳遞、沒有名稱標識的數(shù)據(jù)叫做參數(shù)(?Argument
?),參數(shù)的輸入具有順序性。
控制程序邏輯的附加輸入、并且具有名稱標識的數(shù)據(jù)叫做選項(?Options
?),選項名稱以?-
?或者?--
?字符串作為前綴,選項是無序的,可以放置于命令行中任意位置。選項可以帶有數(shù)據(jù),也可以不帶數(shù)據(jù)。在其他類似的第三方功能組件里面,選項的功能類似于標識(?Flag
?)。
此外,根據(jù)傳統(tǒng)的命令行管理習慣,選項可以設置縮寫別名(?Short
?),用于簡化命令行參數(shù)輸入??s寫別名往往設定為一個單字母。
?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
?是參數(shù),索引分別為 ?0
?, ?1
?, ?2
?;因為參數(shù)是有序性的,因此無論命令行怎么修改,這三者的順序卻無法改變
a
?/?o
?/?n
?是帶有數(shù)據(jù)的選項,由于是順序無關的,通過選項名稱獲取數(shù)據(jù),因此可以隨意放置位置
yes
?是不帶數(shù)據(jù)的選項,也可以隨意放置位置
命令行的選項與數(shù)據(jù)之間可以通過空格,也可以通過?=
?符號進行連接,如:
gf build main.go -a=amd64 -o=linux -n=app -yes
由于?gcmd
?模塊提供了一些包方法用以獲取默認的命令行解析規(guī)則。在默認規(guī)則下,將會自動識別參數(shù)與選項。
gf build main.go -a=amd64 -o=linux -n=app -yes
在默認規(guī)則下:
gf
?/?build
?/?main.go
?是參數(shù),索引分別為0
?, ?1
?,?2
?。
a
?/?o
?/?n
?/?yes
?將會被解析為選項,并且?yes
?為無數(shù)據(jù)選項。gf build main.go -a amd64 -o linux -n app -yes
在默認規(guī)則下:
gf
?/?build
?/?main.go
?是參數(shù),索引分別為 ?0
?, ?1
?, ?2
?。
a
?/?o
?/?n
?/?yes
?將會被解析為選項,并且?yes
?為無數(shù)據(jù)選項Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: