本文只作为博主的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下执行,不然生产不出来二进制文件