Documentation

Overview

    Package flag provides the utilities for implementing command line flags.

    Index

    Examples

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func BoolSlice

    func BoolSlice(b *[]bool) flag.Getter

      BoolSlice returns a flag.Getter which reads flags into the given []bool pointer.

      func CommaList

      func CommaList(s *[]string) flag.Getter

        CommaList returns a flag.Getter for parsing a comma separated flag argument into a string slice.

        func Date

        func Date(t *time.Time) flag.Getter

          Date returns a flag.Getter which parses the flag value as a UTC date. The string must be a time with layout "2006-01-24".

          func FieldSlice

          func FieldSlice(f *[]googleapi.Field) flag.Getter

            FieldSlice returns a flag.Getter which reads flags into the given []googleapi.Field pointer.

            func GRPCMetadata

            func GRPCMetadata(md metadata.MD) flag.Getter

              GRPCMetadata returns a flag.Getter for parsing gRPC metadata from a a set of colon-separated strings. Example: -f a:1 -f a:2 -f b:3 Panics if md is nil.

              func Int32

              func Int32(i *int32) flag.Getter

                Int32 returns a flag.Getter which reads flags into the given int32 pointer.

                func Int64Slice

                func Int64Slice(i *[]int64) flag.Getter

                  Int64Slice returns a flag.Getter which reads flags into the given []int64 pointer.

                  func JSONMap

                  func JSONMap(m *map[string]string) flag.Value

                    JSONMap returns a flag.Value that can be passed to flag.Var to parse a JSON string into a map.

                    func MessageSliceFlag

                    func MessageSliceFlag(msgSlicePtr interface{}) flag.Getter

                      MessageSliceFlag returns a new flag for a slice of pointer to concrete proto message struct which implements the proto.Message interface. Expect input to be of type *[]*B where B is concrete struct of proto message like pb.Build. A flag value must be a JSON string of the provided concrete proto message.

                      Example
                      Output:
                      
                      {
                        "id": "111111",
                        "status": "SUCCESS"
                      }
                      

                      func StringMap

                      func StringMap(m map[string]string) flag.Getter

                        StringMap returns a flag.Getter for parsing map[string]string from a a set of colon-separated strings. Example:

                        -f a:1 -f b:3
                        

                        The flag.Getter.Set implementation returns an error if the key is already in the map. Panics if m is nil.

                        func StringPairs

                        func StringPairs(m strpair.Map) flag.Getter

                          StringPairs returns a flag.Getter for parsing strpair.Map from a a set of colon-separated strings. Example:

                          -f a:1 -f a:2 -f b:3
                          

                          Panics if m is nil.

                          func StringSlice

                          func StringSlice(s *[]string) flag.Getter

                            StringSlice returns a flag.Getter which reads flags into the given []string pointer.

                            func Time

                            func Time(t *time.Time) flag.Getter

                              Time returns a flag.Getter which parses a string into a time.Time pointer.

                              The timestamp to parse must be formatted as stiptime: https://chromium.googlesource.com/infra/infra/infra_libs/+/b2e2c9948c327b88b138d8bd60ec4bb3a957be78/time_functions/README.md

                              Caveat: Leap seconds are not supported due to a limitation in go's time library: https://github.com/golang/go/issues/15247

                              func TimeLayout

                              func TimeLayout(t *time.Time, layout string) flag.Getter

                                TimeLayout returns a flag.Getter which parses the flag value as a UTC time, based on the given layout.

                                Types

                                type Choice

                                type Choice struct {
                                	// contains filtered or unexported fields
                                }

                                  Choice is an implementation of flag.Value for parsing a multiple-choice string.

                                  func NewChoice

                                  func NewChoice(output *string, choices ...string) Choice

                                    NewChoice creates a Choice value

                                    func (Choice) Set

                                    func (f Choice) Set(s string) error

                                      Set implements the flag.Value interface.

                                      func (Choice) String

                                      func (f Choice) String() string

                                        String implements the flag.Value interface.

                                        type RelativeTime

                                        type RelativeTime struct {
                                        	T *time.Time
                                        	// contains filtered or unexported fields
                                        }

                                          RelativeTime is an implementation of flag.Value for parsing a time by a relative day offset.

                                          func (RelativeTime) Set

                                          func (f RelativeTime) Set(s string) error

                                            Set implements the flag.Value interface.

                                            func (RelativeTime) String

                                            func (f RelativeTime) String() string

                                              String implements the flag.Value interface.

                                              Directories

                                              Path Synopsis
                                              Package flagenum is a utility package which facilitates implementation of flag.Value, json.Marshaler, and json.Unmarshaler interfaces via a string-to- value mapping.
                                              Package flagenum is a utility package which facilitates implementation of flag.Value, json.Marshaler, and json.Unmarshaler interfaces via a string-to- value mapping.
                                              Package multiflag is a package providing a flag.Value implementation capable of switching between multiple registered sub-flags, each of which have their own set of parameter flags.
                                              Package multiflag is a package providing a flag.Value implementation capable of switching between multiple registered sub-flags, each of which have their own set of parameter flags.
                                              Package stringlistflag provides a flag.Value implementation which resolves multiple args into a []string.
                                              Package stringlistflag provides a flag.Value implementation which resolves multiple args into a []string.
                                              Package stringmapflag provides a flag.Value that, when parsed, augments a map[string]string with the supplied parameter.
                                              Package stringmapflag provides a flag.Value that, when parsed, augments a map[string]string with the supplied parameter.
                                              Package stringsetflag provides a flag.Value implementation which resolves multiple args into a stringset.
                                              Package stringsetflag provides a flag.Value implementation which resolves multiple args into a stringset.