var ErrHelp … var errParse … var errRange … func numError(err error) error { … } type boolValue … func newBoolValue(val bool, p *bool) *boolValue { … } func (b *boolValue) Set(s string) error { … } func (b *boolValue) Get() any { … } func (b *boolValue) String() string { … } func (b *boolValue) IsBoolFlag() bool { … } type boolFlag … type intValue … func newIntValue(val int, p *int) *intValue { … } func (i *intValue) Set(s string) error { … } func (i *intValue) Get() any { … } func (i *intValue) String() string { … } type int64Value … func newInt64Value(val int64, p *int64) *int64Value { … } func (i *int64Value) Set(s string) error { … } func (i *int64Value) Get() any { … } func (i *int64Value) String() string { … } type uintValue … func newUintValue(val uint, p *uint) *uintValue { … } func (i *uintValue) Set(s string) error { … } func (i *uintValue) Get() any { … } func (i *uintValue) String() string { … } type uint64Value … func newUint64Value(val uint64, p *uint64) *uint64Value { … } func (i *uint64Value) Set(s string) error { … } func (i *uint64Value) Get() any { … } func (i *uint64Value) String() string { … } type stringValue … func newStringValue(val string, p *string) *stringValue { … } func (s *stringValue) Set(val string) error { … } func (s *stringValue) Get() any { … } func (s *stringValue) String() string { … } type float64Value … func newFloat64Value(val float64, p *float64) *float64Value { … } func (f *float64Value) Set(s string) error { … } func (f *float64Value) Get() any { … } func (f *float64Value) String() string { … } type durationValue … func newDurationValue(val time.Duration, p *time.Duration) *durationValue { … } func (d *durationValue) Set(s string) error { … } func (d *durationValue) Get() any { … } func (d *durationValue) String() string { … } type textValue … func newTextValue(val encoding.TextMarshaler, p encoding.TextUnmarshaler) textValue { … } func (v textValue) Set(s string) error { … } func (v textValue) Get() interface{ … } func (v textValue) String() string { … } type funcValue … func (f funcValue) Set(s string) error { … } func (f funcValue) String() string { … } type boolFuncValue … func (f boolFuncValue) Set(s string) error { … } func (f boolFuncValue) String() string { … } func (f boolFuncValue) IsBoolFlag() bool { … } type Value … type Getter … type ErrorHandling … const ContinueOnError … const ExitOnError … const PanicOnError … type FlagSet … type Flag … // sortFlags returns the flags as a slice in lexicographical sorted order. func sortFlags(flags map[string]*Flag) []*Flag { … } // Output returns the destination for usage and error messages. [os.Stderr] is returned if // output was not set or was set to nil. func (f *FlagSet) Output() io.Writer { … } // Name returns the name of the flag set. func (f *FlagSet) Name() string { … } // ErrorHandling returns the error handling behavior of the flag set. func (f *FlagSet) ErrorHandling() ErrorHandling { … } // SetOutput sets the destination for usage and error messages. // If output is nil, [os.Stderr] is used. func (f *FlagSet) SetOutput(output io.Writer) { … } // VisitAll visits the flags in lexicographical order, calling fn for each. // It visits all flags, even those not set. func (f *FlagSet) VisitAll(fn func(*Flag)) { … } // VisitAll visits the command-line flags in lexicographical order, calling // fn for each. It visits all flags, even those not set. func VisitAll(fn func(*Flag)) { … } // Visit visits the flags in lexicographical order, calling fn for each. // It visits only those flags that have been set. func (f *FlagSet) Visit(fn func(*Flag)) { … } // Visit visits the command-line flags in lexicographical order, calling fn // for each. It visits only those flags that have been set. func Visit(fn func(*Flag)) { … } // Lookup returns the [Flag] structure of the named flag, returning nil if none exists. func (f *FlagSet) Lookup(name string) *Flag { … } // Lookup returns the [Flag] structure of the named command-line flag, // returning nil if none exists. func Lookup(name string) *Flag { … } // Set sets the value of the named flag. func (f *FlagSet) Set(name, value string) error { … } func (f *FlagSet) set(name, value string) error { … } // Set sets the value of the named command-line flag. func Set(name, value string) error { … } // isZeroValue determines whether the string represents the zero // value for a flag. func isZeroValue(flag *Flag, value string) (ok bool, err error) { … } // UnquoteUsage extracts a back-quoted name from the usage // string for a flag and returns it and the un-quoted usage. // Given "a `name` to show" it returns ("name", "a name to show"). // If there are no back quotes, the name is an educated guess of the // type of the flag's value, or the empty string if the flag is boolean. func UnquoteUsage(flag *Flag) (name string, usage string) { … } // PrintDefaults prints, to standard error unless configured otherwise, the // default values of all defined command-line flags in the set. See the // documentation for the global function PrintDefaults for more information. func (f *FlagSet) 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() { … } // defaultUsage is the default function to print a usage message. func (f *FlagSet) defaultUsage() { … } var Usage … // NFlag returns the number of flags that have been set. func (f *FlagSet) NFlag() int { … } // NFlag returns the number of command-line flags that have been set. func NFlag() int { … } // Arg returns the i'th 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 (f *FlagSet) Arg(i int) string { … } // 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 { … } // NArg is the number of arguments remaining after flags have been processed. func (f *FlagSet) NArg() int { … } // NArg is the number of arguments remaining after flags have been processed. func NArg() int { … } // Args returns the non-flag arguments. func (f *FlagSet) Args() []string { … } // Args returns the non-flag command-line arguments. func Args() []string { … } // 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 (f *FlagSet) BoolVar(p *bool, name string, value bool, usage string) { … } // 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) { … } // 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 (f *FlagSet) Bool(name string, value bool, usage string) *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 { … } // 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 (f *FlagSet) IntVar(p *int, name string, value int, usage string) { … } // 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) { … } // 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 (f *FlagSet) Int(name string, value int, usage string) *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 { … } // 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 (f *FlagSet) Int64Var(p *int64, name string, value int64, usage string) { … } // 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) { … } // 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 (f *FlagSet) Int64(name string, value int64, usage string) *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 { … } // UintVar defines a uint flag with specified name, default value, and usage string. // The argument p points to a uint variable in which to store the value of the flag. func (f *FlagSet) UintVar(p *uint, name string, value uint, usage string) { … } // UintVar defines a uint flag with specified name, default value, and usage string. // The argument p points to a uint variable in which to store the value of the flag. func UintVar(p *uint, name string, value uint, usage string) { … } // Uint defines a uint flag with specified name, default value, and usage string. // The return value is the address of a uint variable that stores the value of the flag. func (f *FlagSet) Uint(name string, value uint, usage string) *uint { … } // Uint defines a uint flag with specified name, default value, and usage string. // The return value is the address of a uint variable that stores the value of the flag. func Uint(name string, value uint, usage string) *uint { … } // Uint64Var defines a uint64 flag with specified name, default value, and usage string. // The argument p points to a uint64 variable in which to store the value of the flag. func (f *FlagSet) Uint64Var(p *uint64, name string, value uint64, usage string) { … } // Uint64Var defines a uint64 flag with specified name, default value, and usage string. // The argument p points to a uint64 variable in which to store the value of the flag. func Uint64Var(p *uint64, name string, value uint64, usage string) { … } // Uint64 defines a uint64 flag with specified name, default value, and usage string. // The return value is the address of a uint64 variable that stores the value of the flag. func (f *FlagSet) Uint64(name string, value uint64, usage string) *uint64 { … } // Uint64 defines a uint64 flag with specified name, default value, and usage string. // The return value is the address of a uint64 variable that stores the value of the flag. func Uint64(name string, value uint64, usage string) *uint64 { … } // 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 (f *FlagSet) StringVar(p *string, name string, value string, usage string) { … } // 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) { … } // 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 (f *FlagSet) String(name string, value string, usage string) *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 { … } // 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 (f *FlagSet) Float64Var(p *float64, name string, value float64, usage string) { … } // 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) { … } // 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 (f *FlagSet) Float64(name string, value float64, usage string) *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 { … } // 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 (f *FlagSet) DurationVar(p *time.Duration, name string, value time.Duration, usage string) { … } // 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) { … } // 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 (f *FlagSet) Duration(name string, value time.Duration, usage string) *time.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 { … } // 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 (f *FlagSet) TextVar(p encoding.TextUnmarshaler, name string, value encoding.TextMarshaler, usage string) { … } // 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) { … } // 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 (f *FlagSet) Func(name, usage string, fn func(string) error) { … } // 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, usage string, fn func(string) error) { … } // BoolFunc defines a flag with the specified name and usage string without requiring values. // 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 (f *FlagSet) BoolFunc(name, usage string, fn func(string) error) { … } // BoolFunc defines a flag with the specified name and usage string without requiring values. // 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 BoolFunc(name, usage string, fn func(string) error) { … } // Var defines a flag with the specified name and usage string. The type and // value of the flag are represented by the first argument, of type [Value], which // typically holds a user-defined implementation of [Value]. For instance, the // caller could create a flag that turns a comma-separated string into a slice // of strings by giving the slice the methods of [Value]; in particular, [Set] would // decompose the comma-separated string into the slice. func (f *FlagSet) Var(value Value, name string, usage string) { … } // Var defines a flag with the specified name and usage string. The type and // value of the flag are represented by the first argument, of type [Value], which // typically holds a user-defined implementation of [Value]. For instance, the // caller could create a flag that turns a comma-separated string into a slice // of strings by giving the slice the methods of [Value]; in particular, [Set] would // decompose the comma-separated string into the slice. func Var(value Value, name string, usage string) { … } // sprintf formats the message, prints it to output, and returns it. func (f *FlagSet) sprintf(format string, a ...any) string { … } // failf prints to standard error a formatted error and usage message and // returns the error. func (f *FlagSet) failf(format string, a ...any) error { … } // usage calls the Usage method for the flag set if one is specified, // or the appropriate default usage function otherwise. func (f *FlagSet) usage() { … } // parseOne parses one flag. It reports whether a flag was seen. func (f *FlagSet) parseOne() (bool, error) { … } // Parse parses flag definitions from the argument list, which should not // include the command name. Must be called after all flags in the [FlagSet] // are defined and before flags are accessed by the program. // The return value will be [ErrHelp] if -help or -h were set but not defined. func (f *FlagSet) Parse(arguments []string) error { … } // Parsed reports whether f.Parse has been called. func (f *FlagSet) Parsed() bool { … } // 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() { … } // Parsed reports whether the command-line flags have been parsed. func Parsed() bool { … } var CommandLine … func init() { … } func commandLineUsage() { … } // 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 { … } // Init sets the name and error handling property for a flag set. // By default, the zero [FlagSet] uses an empty name and the // [ContinueOnError] error handling policy. func (f *FlagSet) Init(name string, errorHandling ErrorHandling) { … }