Option
option is a busy optional parameter
init
opt := option.New()
set
opt.Set("parameter name", 3.141592)
apply
a := 0.0
opt.Apply("parameter name", &a, 1.1)
clone
otherOpt := opt.Clone()
in function
func Add(opt *option.Option) int {
a := 0
b := 0
opt.Apply("a", &a, 0)
opt.Apply("b", &b, 0)
return a + b
}
func main() {
opt := option.New()
opt.Set("a", 6)
opt.Set("b", 8)
rs := Add(opt)
fmt.Println(rs)
}