golang flag命令列引數的簡單介紹

2021-09-27 10:03:55 字數 602 閱讀 2679

在寫命令列程式(工具、server)時,對命令引數進行解析是常見的需求。各種語言一般都會提供解析命令列引數的方法或庫,以方便程式設計師使用。在 go 標準庫中提供了乙個包:flag,方便進行命令列解析。

定義flags

解析flag

在所有的 flag 定義完成之後,可以通過呼叫 flag.parse() 進行解析。

命令列 flag 的語法有如下三種形式:

-flag // 只支援bool型別

-flag=x

-flag x // 只支援非bool型別

其中第三種形式只能用於非 bool 型別的 flag,預設的,提供了 -flag,則對應的值為 true,否則為 flag.bool/boolvar 中指定的預設值;如果希望顯示設定為 false 則使用 -flag=false。

int 型別可以是十進位制、十六進製制、八進位制甚至是負數;bool 型別可以是1, 0, t, f, true, false, true, false, true, false。duration 可以接受任何 time.parseduration 能解析的型別。

主要型別的方法

flag 包中主要是flagset型別。

命令列引數

c 程式設計師參考 main方法可以使用引數,在這種情況下它採用下列形式之一 static int main string args static void main string args main方法的引數是表示命令行引數的string陣列。通常通過測試length屬性來檢查引數是否存在,例如 ...

命令列引數

c程式中的mian具有兩個形參。int main int argc,char argv argc 命令列引數的數目 argv 指向一組引數值的第乙個元素 每個元素都是指向乙個引數文字的指標 指標陣列 每個元素都是乙個字元指標,陣列末尾是乙個null指標,argc的值和這個null都用於確定實際傳遞了...

命令列引數

命令列引數,也是一種形式的引數。它與我們常見的函式的引數的不同點在於,他是傳遞命令列的引數。c 中可以指定任意數量的命令列引數存放在args陣列中。args陣列的第乙個元素是執行該程式的.exe檔名。向其中新增命令列引數的方法 開啟專案屬性頁面 解決方案資源管理器中,所在專案的properties選...