有时候我们的程序启动时会需要带一些参数,这个时候怎么golang自带的flag.string来解析参数
参数 | 功能 |
---|---|
name | 命令行参数名称,比如 -b, -help |
value | 默认值,未显式指定的参数,给出隐式的默认值,比如本例中-b未给出的话,*b=false |
usage | 提示信息,如果给出的参数不正确或者需要查看帮助 -help,那么会给出这里指定的字符串 |
flag使用前,必须首先解析:flag.Parse(),代码如下:
package main
import (
"fmt"
"os"
)
func init() {
cfg = flag.String("c", "cfg.dev.json", "configuration file")
version = flag.Bool("v", false, "show version")
commonCfg = flag.String("cc", "cfg.common.json", "common configuration file")
flag.Parse()
fmt.Println(*cfg)
fmt.Println(*version)
fmt.Println(*commonCfg)
}
idea 通过以下方式导入 c,cc 参数
-c=F:\Lexin\develop\arch_monitor\arch_monitor\src\github.com\open-falcon\alarm\cfg.dev.json
-cc=F:\Lexin\develop\arch_monitor\arch_monitor\src\github.com\open-falcon\alarm\cfg.common.json
图示如下:
这样我们在启动程序的时候就能够拿到对应参数了。