用于处理命令行参数,os模块的os.Ages也可以获得命令行参数。
定义
host port 为指针遍历,调用值需要*host
flag.String(命令行参数名,默认值,提示信息)
host := flag.String("host", "127.0.0.1", "请输入ip地址")
port := flag.Int("port", 3389, "请输入端口号")
flag.Parse()
fmt.Printf("ip地址:%s:%d", *host, *port)
直接将地址赋给变量
var host string
var port int
flag.StringVar(&host, "host", "127.0.0.1", "请输入ip地址")
flag.IntVar(&port, "port", 3389, "请输入端口号")
flag.Parse()
fmt.Printf("ip地址:%s:%d", host, port)
定义后,运行main.exe -help/—h 自动生成help信息
s014
s123456@
kali admin@123
参数处理
获取定义命令行参数后其他的值:flag.Ages()
var host string
var port int
flag.StringVar(&host, "host", "127.0.0.1", "请输入ip地址")
flag.IntVar(&port, "port", 3389, "请输入端口号")
//解析命令行参数
flag.Parse()
fmt.Printf("ip地址:%s:%d\n", host, port)
//返回命令行参数后的其他参数
fmt.Printf("命令行参数后其他参数:%s\n", flag.Args())
// //返回命令行参数后的其他参数个数
fmt.Println(flag.NArg())
// //返回使用的命令行参数个数
fmt.Println(flag.NFlag())
输入 main.exe -host 127.0.1.1 -port 3333 -asd ddd 报错没有参数-asd,并打印help
输入main.exe -host 127.0.1.1 -port 3333 ddd ,flag.Args() 输出ddd