日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

golang中的flag模块小结

發布時間:2025/3/15 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 golang中的flag模块小结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. flag常用函數

無論是c語言還是golang語言或是其他語言,啟動應用程序時都可以帶一些參數,然后系統根據傳入的參數進行特點的工作。如:./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模块小结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。