func DurationArg(register Register, name string, options ...ArgOptionApplyer) *time.Duration {
	p := new(time.Duration)
	_ = DurationArgVar(register, p, name, options...)
	return p
}
DurationArg defines a time.Duration argument with specified name.
The return value is the address of a time.Duration variable that stores the value of the argument.

A usage may be set by passing a cli.Usage.

_ = cli.DurationArg(register, "name", cli.Usage("The name of user"))

The argument is required by default.
This may be changed by passing the cli.Optional.

_ = cli.DurationArg(register, "name", cli.Optional)

All options can be used together.
package cli
import (
	"time"
)
func BoolArgVar(register Register, p *bool, name string, options ...ArgOptionApplyer) error {
	return ArgVar(register, newBoolValue(p), name, options...)
}
func BoolArg(register Register, name string, options ...ArgOptionApplyer) *bool {
	p := new(bool)
	_ = BoolArgVar(register, p, name, options...)
	return p
}
func Uint8ArgVar(register Register, p *uint8, name string, options ...ArgOptionApplyer) error {
	return ArgVar(register, newUint8Value(p), name, options...)
}
func Uint8Arg(register Register, name string, options ...ArgOptionApplyer) *uint8 {
	p := new(uint8)
	_ = Uint8ArgVar(register, p, name, options...)
	return p
}
func Uint16ArgVar(register Register, p *uint16, name string, options ...ArgOptionApplyer) error {
	return ArgVar(register, newUint16Value(p), name, options...)
}
func Uint16Arg(register Register, name string, options ...ArgOptionApplyer) *uint16 {
	p := new(uint16)
	_ = Uint16ArgVar(register, p, name, options...)
	return p
}
func Uint32ArgVar(register Register, p *uint32, name string, options ...ArgOptionApplyer) error {
	return ArgVar(register, newUint32Value(p), name, options...)
}
func Uint32Arg(register Register, name string, options ...ArgOptionApplyer) *uint32 {
	p := new(uint32)
	_ = Uint32ArgVar(register, p, name, options...)
	return p
}
func Uint64ArgVar(register Register, p *uint64, name string, options ...ArgOptionApplyer) error {
	return ArgVar(register, newUint64Value(p), name, options...)
}
func Uint64Arg(register Register, name string, options ...ArgOptionApplyer) *uint64 {
	p := new(uint64)
	_ = Uint64ArgVar(register, p, name, options...)
	return p
}
func Int8ArgVar(register Register, p *int8, name string, options ...ArgOptionApplyer) error {
	return ArgVar(register, newInt8Value(p), name, options...)
}
func Int8Arg(register Register, name string, options ...ArgOptionApplyer) *int8 {
	p := new(int8)
	_ = Int8ArgVar(register, p, name, options...)
	return p
}
func Int16ArgVar(register Register, p *int16, name string, options ...ArgOptionApplyer) error {
	return ArgVar(register, newInt16Value(p), name, options...)
}
func Int16Arg(register Register, name string, options ...ArgOptionApplyer) *int16 {
	p := new(int16)
	_ = Int16ArgVar(register, p, name, options...)
	return p
}
func Int32ArgVar(register Register, p *int32, name string, options ...ArgOptionApplyer) error {
	return ArgVar(register, newInt32Value(p), name, options...)
}
func Int32Arg(register Register, name string, options ...ArgOptionApplyer) *int32 {
	p := new(int32)
	_ = Int32ArgVar(register, p, name, options...)
	return p
}
func Int64ArgVar(register Register, p *int64, name string, options ...ArgOptionApplyer) error {
	return ArgVar(register, newInt64Value(p), name, options...)
}
func Int64Arg(register Register, name string, options ...ArgOptionApplyer) *int64 {
	p := new(int64)
	_ = Int64ArgVar(register, p, name, options...)
	return p
}
func Float32ArgVar(register Register, p *float32, name string, options ...ArgOptionApplyer) error {
	return ArgVar(register, newFloat32Value(p), name, options...)
}
func Float32Arg(register Register, name string, options ...ArgOptionApplyer) *float32 {
	p := new(float32)
	_ = Float32ArgVar(register, p, name, options...)
	return p
}
func Float64ArgVar(register Register, p *float64, name string, options ...ArgOptionApplyer) error {
	return ArgVar(register, newFloat64Value(p), name, options...)
}
func Float64Arg(register Register, name string, options ...ArgOptionApplyer) *float64 {
	p := new(float64)
	_ = Float64ArgVar(register, p, name, options...)
	return p
}
func StringArgVar(register Register, p *string, name string, options ...ArgOptionApplyer) error {
	return ArgVar(register, newStringValue(p), name, options...)
}
func StringArg(register Register, name string, options ...ArgOptionApplyer) *string {
	p := new(string)
	_ = StringArgVar(register, p, name, options...)
	return p
}
func IntArgVar(register Register, p *int, name string, options ...ArgOptionApplyer) error {
	return ArgVar(register, newIntValue(p), name, options...)
}
func IntArg(register Register, name string, options ...ArgOptionApplyer) *int {
	p := new(int)
	_ = IntArgVar(register, p, name, options...)
	return p
}
func UintArgVar(register Register, p *uint, name string, options ...ArgOptionApplyer) error {
	return ArgVar(register, newUintValue(p), name, options...)
}
func UintArg(register Register, name string, options ...ArgOptionApplyer) *uint {
	p := new(uint)
	_ = UintArgVar(register, p, name, options...)
	return p
}
func DurationArgVar(register Register, p *time.Duration, name string, options ...ArgOptionApplyer) error {
	return ArgVar(register, newDurationValue(p), name, options...)
}