package main import ( "flag" "fmt" "os" ) // Cmd 输入参数命令选项和参数 type Cmd struct { helpFlag bool // 帮助标识 versionFlag bool // 版本标识 } func parseCmd() *Cmd { cmd := &Cmd{} flag.Usage = printUsage flag.BoolVar(&cmd.helpFlag, "help", false, "打印帮助信息") flag.BoolVar(&cmd.helpFlag, "?", false, "打印帮助信息") flag.BoolVar(&cmd.versionFlag, "version", false, "打印版本信息,退出") flag.BoolVar(&cmd.versionFlag, "v", false, "打印版本信息,退出") flag.Parse() return cmd } // 使用提示 func printUsage() { fmt.Fprintf(os.Stderr, "monitor version: monitor/0.0.1 Usage"+ "\nOptions:\n") flag.PrintDefaults() }