命令行参数处理

os.Args

os.Args是一个string的切片,用来储存所有的命令行参数

如果用户没有输入参数也会有一个参数,就是当前程序

func main() {
	fmt.Printf("len of args: %d\n", len(os.Args))
	for i, v := range os.Args {
		fmt.Printf("args[%d]=%s\n", i, v)
	}
}

flag包的使用

flag包用来解析命令行参数

// 参数说明:
// 参数一: 将命令行参数的值赋值给该变量
// 参数二: 参数名
// 参数三: 默认值
// 参数四: 打印说明
flag.BoolVar(&test, "b", false, "print on newline")
flag.StringVar(&str, "s", "", "print on newline")
flag.IntVar(&count, "c", 1001, "print on newline")

例:

func main() {
	var confPath string
	var loglevel int
	flag.StringVar(&confPath, "c", "", "please input confPath")
	flag.IntVar(&loglevel, "d", 10, "please input loglevel")
	// 让设置生效
	flag.Parse()

	fmt.Println("path:", confPath)
	fmt.Println("log level:", loglevel)
}

输入示例:  main.exe -c hhhhh -d 100 

posted @ 2019-05-24 17:02  Jin同学  阅读(339)  评论(0)    收藏  举报