func (f GenericFlag) GetName() string {
	return f.Name
}
GetName returns the name of the flag
package cli
import (
	"flag"
	"strconv"
	"time"
)
type BoolFlag struct {
	Name        string
	Usage       string
	EnvVar      string
	Hidden      bool
	Destination *bool
}
func (f BoolFlag) String() string {
	return FlagStringer(f)
}
func (f BoolFlag) GetName() string {
	return f.Name
}
func (c *Context) Bool(name string) bool {
	return lookupBool(name, c.flagSet)
}
func (c *Context) GlobalBool(name string) bool {
	if fs := lookupGlobalFlagSet(name, c); fs != nil {
		return lookupBool(name, fs)
	}
	return false
}
func lookupBool(name string, set *flag.FlagSet) bool {
	f := set.Lookup(name)
	if f != nil {
		parsed, err := strconv.ParseBool(f.Value.String())
		if err != nil {
			return false
		}
		return parsed
	}
	return false
}
type BoolTFlag struct {
	Name        string
	Usage       string
	EnvVar      string
	Hidden      bool
	Destination *bool
}
func (f BoolTFlag) String() string {
	return FlagStringer(f)
}
func (f BoolTFlag) GetName() string {
	return f.Name
}
func (c *Context) BoolT(name string) bool {
	return lookupBoolT(name, c.flagSet)
}
func (c *Context) GlobalBoolT(name string) bool {
	if fs := lookupGlobalFlagSet(name, c); fs != nil {
		return lookupBoolT(name, fs)
	}
	return false
}
func lookupBoolT(name string, set *flag.FlagSet) bool {
	f := set.Lookup(name)
	if f != nil {
		parsed, err := strconv.ParseBool(f.Value.String())
		if err != nil {
			return false
		}
		return parsed
	}
	return false
}
type DurationFlag struct {
	Name        string
	Usage       string
	EnvVar      string
	Hidden      bool
	Value       time.Duration
	Destination *time.Duration
}
func (f DurationFlag) String() string {
	return FlagStringer(f)
}
func (f DurationFlag) GetName() string {
	return f.Name
}
func (c *Context) Duration(name string) time.Duration {
	return lookupDuration(name, c.flagSet)
}
func (c *Context) GlobalDuration(name string) time.Duration {
	if fs := lookupGlobalFlagSet(name, c); fs != nil {
		return lookupDuration(name, fs)
	}
	return 0
}
func lookupDuration(name string, set *flag.FlagSet) time.Duration {
	f := set.Lookup(name)
	if f != nil {
		parsed, err := time.ParseDuration(f.Value.String())
		if err != nil {
			return 0
		}
		return parsed
	}
	return 0
}
type Float64Flag struct {
	Name        string
	Usage       string
	EnvVar      string
	Hidden      bool
	Value       float64
	Destination *float64
}
func (f Float64Flag) String() string {
	return FlagStringer(f)
}
func (f Float64Flag) GetName() string {
	return f.Name
}
func (c *Context) Float64(name string) float64 {
	return lookupFloat64(name, c.flagSet)
}
func (c *Context) GlobalFloat64(name string) float64 {
	if fs := lookupGlobalFlagSet(name, c); fs != nil {
		return lookupFloat64(name, fs)
	}
	return 0
}
func lookupFloat64(name string, set *flag.FlagSet) float64 {
	f := set.Lookup(name)
	if f != nil {
		parsed, err := strconv.ParseFloat(f.Value.String(), 64)
		if err != nil {
			return 0
		}
		return parsed
	}
	return 0
}
type GenericFlag struct {
	Name   string
	Usage  string
	EnvVar string
	Hidden bool
	Value  Generic
}
func (f GenericFlag) String() string {
	return FlagStringer(f)
}