Flag库
flag库是Go语言标准库之一,提供了命令行参数解析的能力。
参数类型
Go Flag 接受的参数类型
bool
int
int64
uint
uint64
string
float64
duration
除了以上8个类型外,flag允许用户自定义数据类型,但是该类型必须实现value
接口。
使用
flag 会尝试解析绑定的参数,如果发生参数类型不匹配、无法解析等问题,将会导致执行停止。
绑定参数
flag包提供了两种绑定参数的方法
-
type(…args) typePoint
-
typeVar(typePoint, …args)
type为基本参数类型
但是对用用户自定义的类型没有type()
和typeVar()
方法,而是Var
方法.
type函数
type函数支持: bool
int
int64
uint
uint64
string
float64
duration
八种类型的函数定义除了类型不一样外,其他参数都是一样的,具体定义如下:
func Bool(name string, value bool, usage string) *bool
func Int(name string, value int, usage string) *int
func Int64(name string, value int64, usage string) *int64
func Uint(name string, value uint, usage string) *uint
func Uint64(name string