Go語言flag包使用

2021-09-11 03:43:01 字數 1115 閱讀 6917

flag包提供了一系列解析命令列引數的功能介面

命令列語法主要有以下幾種形式

-flag //只支援bool型別

-flag=x

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

以上語法對於乙個或兩個『-』號,效果是一樣的,但是要注意對於第三種情況,只支援非bool型別,原因是碰到如下情況時

cmd -x *
*為0,false有可能表示乙個檔名或檔案,也有可能表示x標籤的值為0或false,會產生二義性,因此規定第三種只支援非bool型別。對於整形flag,合法的值可以為1234,0664,0x1234或負數等。對於布林型flag,可以為1,0,t,f,t,f,true,false,true,false,true,false

使用flag主要包括以下幾步

定義flag引數,有三種方式

呼叫flag.parse()解析命令列引數到定義的flag

flag.parse()
解析函式將會在碰到第乙個非flag命令列引數時停止,非flag命令列引數是指不滿足命令列語法的引數,如命令列引數為cmd --flag=true abc則第乙個非flag命令列引數為「abc」

呼叫parse解析後,就可以直接使用flag本身(指標型別)或者繫結的變數了(值型別)

fmt.println("ip has value ", *ip)

fmt.println("fla**ar has value ", fla**ar)

還可通過flag.args(),flag.arg(i)來獲取非flag命令列引數

如果需要每個函式的詳細demo,可參見gopkg:flag

Go語言flag包使用

這個包的用途是接收命令列引數的。如果你玩過mysql,肯定對這個介面很熟悉 對的,就是幹這個用的,接收命令列引數 這一章所學的任何 都要編譯成.exe才能跑,禁止右擊 run!其實go的os模組,也帶有這個功能,但是這個功能有點欠缺。不能接收像 u root p 3306這樣指定key的值。只能接收...

go語言 flag的使用

go語言flag的使用 package main import flag fmt var music file string flag.string file musicfile use file func main 例如檔案為flagtest.go go run flagtest.go file ...

Go語言標準庫flag基本使用

文章引用自 如果你只是簡單的想要獲取命令列引數,可以像下面的 示例一樣使用os.args來獲取命令列引數。package main import fmt os demo func main 將上面的 執行go build o args demo 編譯之後,執行 args demo a b c d a...