命令行参数的解析:flag库
flag库解析——golang中文社区
package main
import (
"fmt"
"flag"
"os"
)
var(
h bool
v bool
)
func init() {
flag.BoolVar(&h, "h", false, "show help")
flag.BoolVar(&h, "help", false, "show help")
flag.BoolVar(&v, "v", false, "show version")
flag.BoolVar(&v, "version", false, "show version")
}
func main() {
//`是否使用这个-----把用户传递的命令行参数解析为对应变量的值`
flag.Parse()
fmt.Println(os.Args)
fmt.Println("help: ", h)
fmt.Println("version: ", v)
}
//`有使用flag.Parse()`
D:\Code\GOProject\src\go-ywq>go run flagDemo.go -h=true -v=1
[C:\Users\***\go-build169716334\b001\exe\flagDemo.exe -h=true -v=1]
help: true
version: true
//`没有使用flag.Parse()`
D:\Code\GOProject\src\go-ywq>go run flagDemo.go -h=true -v=1
[C:\Users\***\go-build173716014\b001\exe\flagDemo.exe -h=true -v=1]
help: false
version: false