6、Golang常用标准库之-flag(接收命令行传入的参数)

一 介绍

开发命令行程序时,经常需要接受命令行传入的参数

flag包提供了参数处理的功能,官方文档地址:https://golang.google.cn/pkg/flag/

二 使用方式一(flag.String flag.Int)

func main() {
	// 1 flag.String   flag.Int
	//第一个参数:命令行参数的名称
	//第二个参数:命令行不输入时的默认值
	//第三个参数:该参数的描述信息,help命令时会显示
	fptr := flag.String("path", "test.txt", "file path to read from")
    
	fptr := flag.Int("path2 ", 99, "file path to read from")
	flag.Parse()                           //在程序访问 flag 之前,必须先调用 flag.Parse()
	fmt.Println("value of path is", *fptr) //使用解引用
}

//命令行中输入:(-或--都可以)
    go run t_flag.go --path=a.txt --path2=111
    go run t_flag.go -path a.txt --path2=111  

三 使用方式二(flag.StringVar flag.IntVar)

func main() {

	//第一个参数:存放值的参数地址
	//第二个参数:命令行参数的名称
	//第三个参数:命令行不输入时的默认值
	//第四个参数:该参数的描述信息,help命令时会显示
	var (
		name string
		age int 
	)
	flag.StringVar(&name, "name", "lqz", "use of name")
	flag.IntVar(&age, "age", 99, "use of age")
	flag.Parse()
    
	fmt.Println("传入的名字为", name, "传入的年龄为:", age)
}

//命令行中输入:
	go run t_flag.go -name=xxx
posted @ 2022-03-13 20:25  简爱cx  阅读(522)  评论(0编辑  收藏  举报