本文只作為博主的go語言學習筆記。
對命令行參數的解析,只是在運行時使用的,比如以下命令:go run gomain -conf conf.toml
沒有辦法再go build時使用。
一、運行時命令行參數解析
我們寫了一個go程序,想在運行時通過命令行參數加載配置文件。要實現這個功能,可以使用flag解析入參,可以參考文章:
https://studygolang.com/articles/4706
我有一個conf.go文件, 主要內容如下:

我通過上述代碼進行flag的解析,第一個參數是一個指針,會將傳進來的值賦給這個指針執行的內容;第二個是參數的名稱,第三個則是參數的默認值。就是go run gomain時,如果不加命令行默認set進去的值,最后一個參數就是一個解釋說明。
那么我在真正的main函數里面調用一下這個init。

注意:在進行flag的解析之前,一定要flag.Parse()。否則是解析不了滴~~不管怎么搞,都會是個空的文件。
go run main.go -conf conf.toml
go run main.go conf=conf.toml
命令行傳參只有這兩種形式,不要自創形式。
二、 go build使用注意事項
go build -o output/bin/nlu-server nlu/cmd
go build命令用於編譯出可以直接運行的二進制文件。命令比較簡單-o 后面第一個參數是編譯產出的路徑以及文件名,第二個參數則是main包
注意:go build命令要在go path下執行,不然生產不出來二進制文件
