go的标准库之flag包和log包

1、flag包

用处:在 Go 语言中,flag 包是用来解析命令行参数的
例如:查看docker的版本
image
-v就是命令行参数
2种常用的用法:

a、flag.Type(flag名, 默认值, 帮助信息)

	name := flag.String("username", "admin", "这是一个用户名参数的描述")
	pwd := flag.Int("password", 123456, "这是一个用户密码参数的描述")
	flag.Parse()
	fmt.Printf("用户名:%s\n", *name)
	fmt.Printf("密码:%d\n", *pwd)

终端输入

go run main.go -username "fans" -password 654321

image
如果不加flag.Parse(),命令行参数不会被改变,将输出默认值admin和123456(即使命令行中提供了 -username 和 -password 参数,它们也不会被读取和更新)。

b、flag.TypeVar(Type指针, flag名, 默认值, 帮助信息)

var username string
var password int
flag.StringVar(&username, "username", "admin", "这是一个用户名参数的描述")
flag.IntVar(&password, "password", 123456, "这是一个用户密码参数的描述")
flag.Parse()
fmt.Printf("用户名:%s\n", name)
fmt.Printf("密码:%d\n", pwd)

输出结果与a一致,a和b方法的区别在于,a中的输出结果要通过指针打印参数,b中需要传入地址值,可以直接打印参数。

2、log包

posted @ 2024-05-29 14:07  白羽翎  阅读(62)  评论(0)    收藏  举报