這個包的用途是接收命令列引數的。
如果你玩過mysql
,肯定對這個介面很熟悉
對的,就是幹這個用的,接收命令列引數
這一章所學的任何**,都要編譯成.exe
才能跑,禁止右擊 run
!!
其實go的os模組,也帶有這個功能,但是這個功能有點欠缺。
不能接收像-u root -p 3306
這樣指定key
的值。
只能接收像root 3306
這樣的方式。
簡單了解一下吧。
**
func
main()
}}
我們通過命令go build -o mysql.exe main.go
編譯成乙個mysql.exe
。
mysql.exe圖
執行結果
注:返回的cmdargs
是乙個切片,第乙個值是自己的檔名,如果不想要自己第乙個值,直接切片就好了。
修改第2行**。
cmdargs := os.args[1:
]
執行結果
上述的可能也發現問題了,只能接收簡單的值,不能接收key value
這種。
flag可以做到,flag有只能接收以下幾種型別。
使用flag包,最後要使用flag.parse()
轉換一下才能獲取命令列引數。
話不多說,直接**
func
main()
執行結果
.exe -h結果圖
懂了叭,你今天,學廢了嗎!
上述你可能也發現了問題,需要用*變數
才能取到值,是不是感覺不太方便,那就來看看flag.typevar()
。
func
main()
執行結果
flag還有一些其他無關緊要的方法,了解就好。
func
main()
執行結果
本次章節主要學習的是flag
包的使用,flag
包主要處理的命令列引數傳遞問題。
有了這個我們就能開發出像mysql
那樣的程式。
flag
主要有flag.type
和flag.typevar
兩種區別
乙個人有生就有死,但只要你活著,就要以最好的方式活下去。
我是碼農星期八,如果覺得還不錯,記得動手點讚一下哈。
感謝你的**。
Go語言flag包使用
flag包提供了一系列解析命令列引數的功能介面 命令列語法主要有以下幾種形式 flag 只支援bool型別 flag x flag x 只支援非bool型別以上語法對於乙個或兩個 號,效果是一樣的,但是要注意對於第三種情況,只支援非bool型別,原因是碰到如下情況時 cmd x 為0,false有可...
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...