2023-07-05 10:22:13來源:今日頭條
(資料圖片)
Golang中的flag包用于解析命令行參數(shù),提供了一個方便的接口來接收命令行參數(shù),并將其轉(zhuǎn)換為Go語言中的值。
使用方法先看段示例代碼:
package mainimport ("flag""fmt")func main() {var name stringflag.StringVar(&name, "name", "luduoxin", "請輸入名稱:")flag.Parse()fmt.Printf("name: %s\n", name)}
運(yùn)行一下看下效果。
$ go run ./main.go -name xiaomingname: xiaoming
在命令行通過-name參數(shù)傳入xiaoming后,name這個變量獲取到了這個值。StringVar方法將參數(shù)綁定到指定的變量,該方法有四個參數(shù):
第一個是綁定的變量,指針類型。第二個是參數(shù)名稱。第三個是默認(rèn)值。第四個是提示信息。$ go run ./main.go -h -name string 請輸入名稱: (default "luduoxin")
這里只是使用StringVar方法來舉例,還有很多和StringVar功能類似的方法,只是類型不同,如BoolVar、DurationVar、Float64Var、IntVar、Int64Var、UintVar和Uint64Var。這8個方法分別對應(yīng)著不帶Var的方法,如下String、Bool、Duration、Float64、Int、Int64、Uint和Uint64,以String為例:
package mainimport ("flag""fmt")func main() {name := flag.String("name", "luduoxin", "請輸入名稱:")flag.Parse()fmt.Printf("age: %T\n", name)fmt.Printf("age: %s\n", *name)}
運(yùn)行看下效果:
$ go run ./main.go -name xiaomingage: *stringage: xiaoming
String規(guī)范法有三個參數(shù):
第一個參數(shù)是參數(shù)名稱第二個參數(shù)是默認(rèn)值第三個參數(shù)是提示信息返回的是對應(yīng)的指針類型,獲取參數(shù)結(jié)果需要使用*name。
上面兩個實(shí)例中都調(diào)用了flag.Parse(),這個方法用來解析參數(shù),如果不調(diào)用該方法,參數(shù)不會被解析,但是可以獲得默認(rèn)值。注釋此方法運(yùn)行看下效果:
go run ./chan.go -name xiaomingage: *stringage: luduoxin
雖然傳入了xiaoming,但值依然是默認(rèn)值luduoxin。
關(guān)鍵詞:
flag包作用Golang中的flag包用于解析命令行參數(shù),提供了一個方便的接口
一、背景1 1什么是精細(xì)化運(yùn)營?用戶畫像:注重用戶細(xì)分,深入分析用戶
隨著大模型的發(fā)展,尤其是近來各種開源大模型的發(fā)布,如何對各種模型進(jìn)
博德之門3怎么增加暴擊率的問題原因是什么?博德之門3是一款非常熱門的
綾致時裝Bestseller1975年始建于丹麥,創(chuàng)始人為TroelsHolchPovlsen。Bestseller
江粉兒從內(nèi)江華潤燃?xì)夥?wù)號獲悉,內(nèi)江城區(qū)這些區(qū)域?qū)⑼猓斍槿缦隆?/p>
中新網(wǎng)7月5日電 據(jù)北京市氣象局官方微博消息,北京市應(yīng)急管理局提
為切實(shí)做好控?zé)煿ぷ?,進(jìn)一步提高全社會控?zé)熞庾R,努力營造一個清潔無煙
大家好,最近小紅發(fā)現(xiàn)有諸多的小伙伴們對于dnf進(jìn)游戲很慢什么原因,dnf
記者從第十四屆全國冬季運(yùn)動會組委會了解到,為進(jìn)一步鞏固和擴(kuò)大“帶動
英國倫敦股市《金融時報》100種股票平均價格指數(shù)4日下跌---新華社快訊
共享滑板單車投放至位于江蘇省淮安市的江蘇食品藥品職業(yè)技術(shù)學(xué)院校園,
據(jù)TA凱爾特人記者JaredWeiss報道,消息人士透露,凱爾特人會在處理完格
1、專升本的確是??粕@得本科學(xué)歷的最好、含金量最高的途徑。2、但需
對于溝通一百營業(yè)廳在哪里這個問題感興趣的朋友應(yīng)該很多,這個也是目前