golang中的flag模块小结
生活随笔
收集整理的這篇文章主要介紹了
golang中的flag模块小结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. flag常用函數
無論是c語言還是golang語言或是其他語言,啟動應用程序時都可以帶一些參數,然后系統(tǒng)根據傳入的參數進行特點的工作。如:./main -mode online -model bert_ch. 在Go中可以方便地使用flag模塊進行命令行參數解析。
// 解析字符串 type string string func String(name string, value string, usage string) *string// 解析整數變量 type int int func Int(name string, value int, usage string) *int// 解析bool變量 type bool bool func Bool(name string, value bool, usage string) *booltype float64 float64 func Float64(name string, value float64, usage string) *float64type int64 int64 func Int64(name string, value int64, usage string) *int64// 解析使得參數生效 func Parse()// 給指定的參數設置值 func Set(name, value string) error// Flag結構體 type Flag struct {Name string // name as it appears on command lineUsage string // help messageValue Value // value as setDefValue string // default value (as text); for usage message }2. 案例測試
package mainimport ("flag""fmt" )func main() {mode := flag.String("mode", "test", "test environment")model := flag.String("model", "bert_ch", "select_embedding_model")re_train := flag.Bool("retrain", false, "retrain bert or not")doc_num := flag.Int("docnum", 20, "session_for_RS")flag.Parse()fmt.Println("mode:", *mode)fmt.Println("model:", *model)fmt.Println("retrain:", *re_train)fmt.Println("docnum:", *doc_num) }測試結果:
go run main.go -mode online -model bert_ch_large -retrain false -docnum 50output= mode: online model: bert_ch_large retrain: false docnum: 50?
?
總結
以上是生活随笔為你收集整理的golang中的flag模块小结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iPhone软件开发新突破,真正VoIP
- 下一篇: 哈佛成功金句 -25则