example.go 823 B

123456789101112131415161718192021222324252627282930
  1. package main
  2. import (
  3. "fmt"
  4. flag "github.com/dotcloud/docker/pkg/mflag"
  5. )
  6. var (
  7. i int
  8. str string
  9. b, b2, h bool
  10. )
  11. func init() {
  12. flag.BoolVar(&b, []string{"b"}, false, "a simple bool")
  13. flag.BoolVar(&b2, []string{"-bool"}, false, "a simple bool")
  14. flag.IntVar(&i, []string{"#integer", "-integer"}, -1, "a simple integer")
  15. flag.StringVar(&str, []string{"s", "#hidden", "-string"}, "", "a simple string") //-s -hidden and --string will work, but -hidden won't be in the usage
  16. flag.BoolVar(&h, []string{"h", "#help", "-help"}, false, "display the help")
  17. flag.Parse()
  18. }
  19. func main() {
  20. if h {
  21. flag.PrintDefaults()
  22. }
  23. fmt.Printf("s/#hidden/-string: %s\n", str)
  24. fmt.Printf("b: %b\n", b)
  25. fmt.Printf("-bool: %b\n", b2)
  26. fmt.Printf("s/#hidden/-string(via lookup): %s\n", flag.Lookup("s").Value.String())
  27. }