func (c *Cmd) Floats64Opt(name string, value []float64, desc string) *[]float64 {
	return c.Floats64(Floats64Opt{
		Name:  name,
		Value: value,
		Desc:  desc,
	})
}
/*
Floats64Opt defines an float64 slice option on the command c named `name`, with an initial value of `value` and a description of `desc` which will be used in help messages.

The name is a space separated list of the option names *WITHOUT* the dashes, e.g. `f force` and *NOT* `-f --force`.
The one letter names will then be called with a single dash (short option), the others with two (long options).


The result should be stored in a variable (a pointer to an float64 slice) which will be populated when the app is run and the call arguments get parsed
package cli
import (
	"flag"
	"fmt"
	"strings"
	"github.com/jawher/mow.cli/internal/container"
	"github.com/jawher/mow.cli/internal/values"
)
type BoolOpt struct {
	Name string
	Desc string
	EnvVar string
	Value bool
	HideValue bool
	SetByUser *bool
}
func (o BoolOpt) value(into *bool) (flag.Value, *bool) {
	if into == nil {
		into = new(bool)
	}
	return values.NewBool(into, o.Value), into
}
type StringOpt struct {
	Name string
	Desc string
	EnvVar string
	Value string
	HideValue bool
	SetByUser *bool
}
func (o StringOpt) value(into *string) (flag.Value, *string) {
	if into == nil {
		into = new(string)
	}
	return values.NewString(into, o.Value), into
}
type IntOpt struct {
	Name string
	Desc string
	EnvVar string
	Value int
	HideValue bool
	SetByUser *bool
}
func (o IntOpt) value(into *int) (flag.Value, *int) {
	if into == nil {
		into = new(int)
	}
	return values.NewInt(into, o.Value), into
}
type Float64Opt struct {
	Name string
	Desc string
	EnvVar string
	Value float64
	HideValue bool
	SetByUser *bool
}
func (o Float64Opt) value(into *float64) (flag.Value, *float64) {
	if into == nil {
		into = new(float64)
	}
	return values.NewFloat64(into, o.Value), into
}
type StringsOpt struct {
	Name string
	Desc string
	EnvVar string
	Value []string
	HideValue bool
	SetByUser *bool
}
func (o StringsOpt) value(into *[]string) (flag.Value, *[]string) {
	if into == nil {
		into = new([]string)
	}
	return values.NewStrings(into, o.Value), into
}
type IntsOpt struct {
	Name string
	Desc string
	EnvVar string
	Value []int
	HideValue bool
	SetByUser *bool
}
func (o IntsOpt) value(into *[]int) (flag.Value, *[]int) {
	if into == nil {
		into = new([]int)
	}
	return values.NewInts(into, o.Value), into
}
type Floats64Opt struct {
	Name string
	Desc string
	EnvVar string
	Value []float64
	HideValue bool
	SetByUser *bool
}
func (o Floats64Opt) value(into *[]float64) (flag.Value, *[]float64) {
	if into == nil {
		into = new([]float64)
	}
	return values.NewFloats64(into, o.Value), into
}
type VarOpt struct {
	Name string
	Desc string
	EnvVar string
	Value flag.Value
	HideValue bool
	SetByUser *bool
}
func (o VarOpt) value() flag.Value {
	return o.Value
}
func (c *Cmd) BoolOpt(name string, value bool, desc string) *bool {
	return c.Bool(BoolOpt{
		Name:  name,
		Value: value,
		Desc:  desc,
	})
}
func (c *Cmd) BoolOptPtr(into *bool, name string, value bool, desc string) {
	c.BoolPtr(into, BoolOpt{
		Name:  name,
		Value: value,
		Desc:  desc,
	})
}
func (c *Cmd) StringOpt(name string, value string, desc string) *string {
	return c.String(StringOpt{
		Name:  name,
		Value: value,
		Desc:  desc,
	})
}
func (c *Cmd) StringOptPtr(into *string, name string, value string, desc string) {
	c.StringPtr(into, StringOpt{
		Name:  name,
		Value: value,
		Desc:  desc,
	})
}
func (c *Cmd) IntOpt(name string, value int, desc string) *int {
	return c.Int(IntOpt{
		Name:  name,
		Value: value,
		Desc:  desc,
	})
}
func (c *Cmd) IntOptPtr(into *int, name string, value int, desc string) {
	c.IntPtr(into, IntOpt{
		Name:  name,
		Value: value,
		Desc:  desc,
	})
}
func (c *Cmd) Float64Opt(name string, value float64, desc string) *float64 {
	return c.Float64(Float64Opt{
		Name:  name,
		Value: value,
		Desc:  desc,
	})
}
func (c *Cmd) Float64OptPtr(into *float64, name string, value float64, desc string) {
	c.Float64Ptr(into, Float64Opt{
		Name:  name,
		Value: value,
		Desc:  desc,
	})
}
func (c *Cmd) StringsOpt(name string, value []string, desc string) *[]string {
	return c.Strings(StringsOpt{
		Name:  name,
		Value: value,
		Desc:  desc,
	})
}
func (c *Cmd) StringsOptPtr(into *[]string, name string, value []string, desc string) {
	c.StringsPtr(into, StringsOpt{
		Name:  name,
		Value: value,
		Desc:  desc,
	})
}
func (c *Cmd) IntsOpt(name string, value []int, desc string) *[]int {
	return c.Ints(IntsOpt{
		Name:  name,
		Value: value,
		Desc:  desc,
	})
}
func (c *Cmd) IntsOptPtr(into *[]int, name string, value []int, desc string) {
	c.IntsPtr(into, IntsOpt{
		Name:  name,
		Value: value,
		Desc:  desc,
	})
}