命令列旗標是指定命令列程式選項的一種常見方式。例如,在「wc -l」中,-l 就是一個命令列旗標。 |
|
![]() ![]()
|
|
Go 提供一個支援基本的命令列旗標分析的「flag」套件。我們將使用這個套件實作範例命令列程式。 |
|
|
|
基本旗標宣告可用於字串、整數和布林值選項。在此,我們宣告一個預設值為「foo」且具有簡短描述的 word 字串旗標。這個「flag.String」函式回傳一個字串指標(不是字串值);我們將在下方說明如何使用這個指標。 |
|
這會採用類似 word 旗標的作法,宣告 numb 和 fork 旗標。 |
|
還能宣告一個選項,使用程式碼中其他地方已宣告的現有變數。請注意,我們需要傳遞一個指標給旗標宣告函式。 |
|
一旦所有旗標都宣告完畢,請呼叫「flag.Parse()」來執行命令列分析。 |
|
在此,我們只會將分析的選項和任何尾隨的位置引數傾印出來。請注意,我們需要透過例如 *wordPtr 解除指標來取得實際選項值。 |
|
若要嘗試命令列旗標程式,最好先編譯它,然後直接執行產生的二進位檔。 |
|
透過先為所有旗標提供值,來試用建置的程式。 |
|
請注意,如果您略過旗標,它們會自動採用其預設值。 |
|
任何尾隨的位置引數都可以在任何旗標之後提供。 |
|
請注意,「flag」套件要求所有旗標出現在位置引數之前(否則旗標會被解譯為位置引數)。 |
|
使用 -h 或 --help 旗標,可為命令列程式取得自動產生的說明文字。 |
|
如果您提供一個未指定給「flag」套件的旗標,該程式會印出一個錯誤訊息,並再次顯示說明文字。 |
|
下一個範例:命令列子命令。