Go解析命令行传入参数

xiaoxiao2021-02-28  168

API

Go的flag包用来解析命令行参数。 参数的表示方法为:

-flag -flag=x -flag x // x不能是bool值

主要的API如下:

// 获取名字为name的参数值,默认值为value,用法为usage // 注意返回值是一个指针 // 类似的方法还有 Int(),Bool()等。 func String(name string, value string, usage string) *string // 这种方式p作为返回值,可以传入变量的地址 // 类似的方法还有 IntVar(),BoolVar()等。 func StringVar(p *string, name string, value string, usage string) // Usage用来打印用法 var Usage = func() { // ... } // 解析参数,应在设置完参数变量后调用 func Parse()

例子

package main import ( "flag" "fmt" ) func main() { var src string flag.StringVar(&src, "src", "", "source file") var level *int level = flag.Int("level", 0, "debug level") var memo string flag.StringVar(&memo, "memo", "", "the memory") flag.Parse() flag.Usage() fmt.Printf("src=%s, level=%d, memo=%s\n", src, *level, memo) }

执行 args.exe -src="123" -level=4 -memo="567",输出如下:

Usage of args.exe: -level int debug level -memo string the memory -src string source file src=123, level=4, memo=567
转载请注明原文地址: https://www.6miu.com/read-30820.html

最新回复(0)