`Usage()` always writes to `os.Stderr`: ``` var Usage = func() { fmt.Fprintf(os.Stderr, "Usage of %s:\n", os.Args[0]) PrintDefaults() } ``` `PrintDefaults()` writes to `Commandline.out()`: ``` func PrintDefaults() { CommandLine.PrintDefaults() } func (f *FlagSet) PrintDefaults() { usages := f.FlagUsages() fmt.Fprint(f.out(), usages) } ```