mirror of
https://github.com/golang/go
synced 2024-11-19 21:34:45 -07:00
flag: document that custom usage functions are free to call os.Exit
Some custom usage functions call it for clarity; others rely on the default behavior, which makes an explicit call redundant. Document that it's safe to be explicit. Fixes #21671. Change-Id: I08e9f47265582821cfd35995dff0c589cd85809d Reviewed-on: https://go-review.googlesource.com/59792 Reviewed-by: Dominik Honnef <dominik@honnef.co> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
931c43328a
commit
305fd9179d
@ -269,7 +269,9 @@ const (
|
|||||||
type FlagSet struct {
|
type FlagSet struct {
|
||||||
// Usage is the function called when an error occurs while parsing flags.
|
// Usage is the function called when an error occurs while parsing flags.
|
||||||
// The field is a function (not a method) that may be changed to point to
|
// The field is a function (not a method) that may be changed to point to
|
||||||
// a custom error handler.
|
// a custom error handler. What happens after Usage is called depends
|
||||||
|
// on the ErrorHandling setting; for the command line, this defaults
|
||||||
|
// to ExitOnError, which exits the program after calling Usage.
|
||||||
Usage func()
|
Usage func()
|
||||||
|
|
||||||
name string
|
name string
|
||||||
@ -521,6 +523,9 @@ func (f *FlagSet) defaultUsage() {
|
|||||||
// The function is a variable that may be changed to point to a custom function.
|
// The function is a variable that may be changed to point to a custom function.
|
||||||
// By default it prints a simple header and calls PrintDefaults; for details about the
|
// By default it prints a simple header and calls PrintDefaults; for details about the
|
||||||
// format of the output and how to control it, see the documentation for PrintDefaults.
|
// format of the output and how to control it, see the documentation for PrintDefaults.
|
||||||
|
// Custom usage functions may choose to exit the program; by default exiting
|
||||||
|
// happens anyway as the command line's error handling strategy is set to
|
||||||
|
// ExitOnError.
|
||||||
var Usage = func() {
|
var Usage = func() {
|
||||||
fmt.Fprintf(CommandLine.out(), "Usage of %s:\n", os.Args[0])
|
fmt.Fprintf(CommandLine.out(), "Usage of %s:\n", os.Args[0])
|
||||||
PrintDefaults()
|
PrintDefaults()
|
||||||
|
Loading…
Reference in New Issue
Block a user