在学习用go写一个jvm的时候,看到一个go解析命令行的工具包flag包,记录一下
flag包有两种方式
1)flag.Xxx(),其中Xxx可以是Int、String等;返回一个相应类型的指针,如:
cpvalue := flag.StringVar("cp","","classpath")
第一个参数cp是名字
第二个参数是默认值
第三个参数是提示信息
2)flag.XxxVar(),将 flag 绑定到一个变量上,如:
flag.StringVar(&cmd.cpOption,"cp","","classpath")
第一个参数 :接收cp的实际值的
第二个参数 :flag名称为cp
第三个参数 :cp默认值为“”
第四个参数 :flagname的提示信息
Flag的解析
flag的解析是通过flag.parse()实现的
Flag的信息打印
flag的Usage用来打印命令行的用法