go1.20.5
GoThrough

flag.ContinueOnError

// These constants cause FlagSet.Parse to behave as described if the parse fails. const ContinueOnError = iota

flag.ExitOnError

// These constants cause FlagSet.Parse to behave as described if the parse fails. const ExitOnError = iota

flag.PanicOnError

// These constants cause FlagSet.Parse to behave as described if the parse fails. const PanicOnError = iota

flag.CommandLine

// CommandLine is the default set of command-line flags, parsed from os.Args. // The top-level functions such as BoolVar, Arg, and so on are wrappers for the // methods of CommandLine. var CommandLine = NewFlagSet(os.Args[0], ExitOnError)

flag.ErrHelp

// ErrHelp is the error returned if the -help or -h flag is invoked // but no such flag is defined. var ErrHelp = errors.New("flag: help requested")

flag.Usage

// Usage prints a usage message documenting all defined command-line flags // to CommandLine's output, which by default is os.Stderr. // It is called when an error occurs while parsing flags. // 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 // 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() { fmt.Fprintf(CommandLine.Output(), "Usage of %s:\n", os.Args[0]) PrintDefaults() }

flag.Getter

// Getter is an interface that allows the contents of a Value to be retrieved. // It wraps the Value interface, rather than being part of it, because it // appeared after Go 1 and its compatibility rules. All Value types provided // by this package satisfy the Getter interface, except the type used by Func. type Getter interface { Value Get() any }

flag.Value

// Value is the interface to the dynamic value stored in a flag. // (The default value is represented as a string.) // // If a Value has an IsBoolFlag() bool method returning true, // the command-line parser makes -name equivalent to -name=true // rather than using the next command-line argument. // // Set is called once, in command line order, for each flag present. // The flag package may call the String method with a zero-valued receiver, // such as a nil pointer. type Value interface { String() string Set(string) error }

flag.Arg

// Arg returns the i'th command-line argument. Arg(0) is the first remaining argument // after flags have been processed. Arg returns an empty string if the // requested element does not exist. func Arg(i int) string

flag.Args

// Args returns the non-flag command-line arguments. func Args() []string

flag.Bool

// Bool defines a bool flag with specified name, default value, and usage string. // The return value is the address of a bool variable that stores the value of the flag. func Bool(name string, value bool, usage string) *bool

flag.BoolVar

// BoolVar defines a bool flag with specified name, default value, and usage string. // The argument p points to a bool variable in which to store the value of the flag. func BoolVar(p *bool, name string, value bool, usage string)

flag.Duration

// Duration defines a time.Duration flag with specified name, default value, and usage string. // The return value is the address of a time.Duration variable that stores the value of the flag. // The flag accepts a value acceptable to time.ParseDuration. func Duration(name string, value time.Duration, usage string) *time.Duration

flag.DurationVar

// DurationVar defines a time.Duration flag with specified name, default value, and usage string. // The argument p points to a time.Duration variable in which to store the value of the flag. // The flag accepts a value acceptable to time.ParseDuration. func DurationVar(p *time.Duration, name string, value time.Duration, usage string)

flag.Float64

// Float64 defines a float64 flag with specified name, default value, and usage string. // The return value is the address of a float64 variable that stores the value of the flag. func Float64(name string, value float64, usage string) *float64

flag.Float64Var

// Float64Var defines a float64 flag with specified name, default value, and usage string. // The argument p points to a float64 variable in which to store the value of the flag. func Float64Var(p *float64, name string, value float64, usage string)

flag.Func

// Func defines a flag with the specified name and usage string. // Each time the flag is seen, fn is called with the value of the flag. // If fn returns a non-nil error, it will be treated as a flag value parsing error. func Func(name string, usage string, fn func(string) error)

flag.Int

// Int defines an int flag with specified name, default value, and usage string. // The return value is the address of an int variable that stores the value of the flag. func Int(name string, value int, usage string) *int

flag.Int64

// Int64 defines an int64 flag with specified name, default value, and usage string. // The return value is the address of an int64 variable that stores the value of the flag. func Int64(name string, value int64, usage string) *int64

flag.Int64Var

// Int64Var defines an int64 flag with specified name, default value, and usage string. // The argument p points to an int64 variable in which to store the value of the flag. func Int64Var(p *int64, name string, value int64, usage string)

flag.IntVar

// IntVar defines an int flag with specified name, default value, and usage string. // The argument p points to an int variable in which to store the value of the flag. func IntVar(p *int, name string, value int, usage string)

flag.Lookup

// Lookup returns the Flag structure of the named command-line flag, // returning nil if none exists. func Lookup(name string) *Flag

flag.NArg

// NArg is the number of arguments remaining after flags have been processed. func NArg() int

flag.NFlag

// NFlag returns the number of command-line flags that have been set. func NFlag() int

flag.NewFlagSet

// NewFlagSet returns a new, empty flag set with the specified name and // error handling property. If the name is not empty, it will be printed // in the default usage message and in error messages. func NewFlagSet(name string, errorHandling ErrorHandling) *FlagSet

flag.Parse

// Parse parses the command-line flags from os.Args[1:]. Must be called // after all flags are defined and before flags are accessed by the program. func Parse()

flag.Parsed

// Parsed reports whether the command-line flags have been parsed. func Parsed() bool

flag.PrintDefaults

// PrintDefaults prints, to standard error unless configured otherwise, // a usage message showing the default settings of all defined // command-line flags. // For an integer valued flag x, the default output has the form // // -x int // usage-message-for-x (default 7) // // The usage message will appear on a separate line for anything but // a bool flag with a one-byte name. For bool flags, the type is // omitted and if the flag name is one byte the usage message appears // on the same line. The parenthetical default is omitted if the // default is the zero value for the type. The listed type, here int, // can be changed by placing a back-quoted name in the flag's usage // string; the first such item in the message is taken to be a parameter // name to show in the message and the back quotes are stripped from // the message when displayed. For instance, given // // flag.String("I", "", "search `directory` for include files") // // the output will be // // -I directory // search directory for include files. // // To change the destination for flag messages, call CommandLine.SetOutput. func PrintDefaults()

flag.Set

// Set sets the value of the named command-line flag. func Set(name string, value string) error

flag.String

// String defines a string flag with specified name, default value, and usage string. // The return value is the address of a string variable that stores the value of the flag. func String(name string, value string, usage string) *string

flag.StringVar

// StringVar defines a string flag with specified name, default value, and usage string. // The argument p points to a string variable in which to store the value of the flag. func StringVar(p *string, name string, value string, usage string)

flag.TextVar

// TextVar defines a flag with a specified name, default value, and usage string. // The argument p must be a pointer to a variable that will hold the value // of the flag, and p must implement encoding.TextUnmarshaler. // If the flag is used, the flag value will be passed to p's UnmarshalText method. // The type of the default value must be the same as the type of p. func TextVar(p encoding.TextUnmarshaler, name string, value encoding.TextMarshaler, usage string)