code: func (f *FlagSet) PrintDefaults() {
  	f.VisitAll(func(flag *Flag) {
  		s := ""
  		if len(flag.Shorthand) > 0 {
  			s = fmt.Sprintf("  -%s, --%s", flag.Shorthand, flag.Name)
  		} else {
  			s = fmt.Sprintf("  --%s", flag.Name)
  		}
  
  		name, usage := UnquoteUsage(flag)
  		if len(name) > 0 {
  			s += " " + name
  		}
  
  		s += "\n    \t"
  		s += usage
  		if !isZeroValue(flag.DefValue) {
  			if _, ok := flag.Value.(*stringValue); ok {
  				// put quotes on the value
  				s += fmt.Sprintf(" (default %q)", flag.DefValue)
  			} else {
  				s += fmt.Sprintf(" (default %v)", flag.DefValue)
  			}
  		}
  		fmt.Fprint(f.out(), s, "\n")
  	})
  }
docs: // PrintDefaults prints to standard error the default values of all
  // defined command-line flags in the set. See the documentation for
  // the global function PrintDefaults for more information.