Flag库
flag库是Go语言标准库之一,提供了命令行参数解析的能力。
flag 会尝试解析绑定的参数,如果发生参数类型不匹配、无法解析等问题,将会导致执行停止。
实例程序
package main
import (
"fmt"
"flag"
)
func main(){
// 定义变量,用于接收命令行的参数值
var s1 string
var s2 string
var s3 string
// 接收命令行的参数值, 命令行参数名称, 默认值, 描述
flag.StringVar(&s1, "v1", "value1", "strVal1 is String type.")
flag.StringVar(&s2, "v2", "value2", "strVal2 is String type.")
flag.StringVar(&s3, "v3", "value3", "strVal3 is String type.")
// 把用户传递的命令行参数解析为对应变量的值
flag.Parse()
fmt.Println(s1)
fmt.Println(s2)
fmt.Println(s3)
}
// 运行命令
// go run .\envtest.go -v1 root -v2 pwd -v3 hhh
// .\test0309.exe -v1 root -v2 pwd -v3 hhh