configuración de ayuda del archivo ejecutable golang

pflag.UsageImplementar la ayuda de uso personalizado

  •  Definir parámetros
var (
	host          string
	user          string
	port          int
	password      string
	
)
  •  pflag es un complemento alternativo al paquete de banderas Go, que implementa banderas de estilo POSIX / GNU , y es básicamente lo mismo que el paquete "flag"
  • github.com/spf13/pflag
  • Bandera predeterminada:--
pflag.Usage = func() {
		
		pflag.PrintDefaults()
	}
	pflag.ErrHelp = errors.New("")
	pflag.StringVarP(&host, "host", "h", "127.0.0.1", "The host to connect to db")
	pflag.StringVarP(&password, "password", "p", "", "User password")
	pflag.IntVarP(&port, "port", "P", 26257, "TCP/IP port")
	pflag.StringVarP(&user, "user", "u", "root", "Username")

    // 在帮助文档中隐藏参数 user
	pflag.CommandLine.MarkHidden("user")
    // 传递的命令行参数解析为对应变量的值
	pflag.Parse()
  •  Parámetros de tipo bool:
--flag               // 等同于 --flag=true        
--flag=value         // 建议写法
--flag value         // 只有在没有设置默认值时才生效

Uso de NoOptDefVal

El paquete pflag admite una forma sencilla de establecer un valor que no sea el valor predeterminado para el parámetro. El método de implementación es establecer el atributo NoOptDefVal del parámetro:

flag.Lookup("user").NoOptDefVal = "root"

 Después de ir a construir, directamente main.go -h puede ver el efecto.

 

Supongo que te gusta

Origin blog.csdn.net/feikillyou/article/details/110485801
Recomendado
Clasificación