# slag define a struct, and parse the cmdline args for it Roadmap State: unfinished - [x] Simple types (string, float32/64, ints, boolean) - [x] Arrays of simple types - [x] bool flags are set to true when just present - [ ] Objects - [ ] Arrays of objects types - [ ] Default values merging desired api ```sh slag -name "pinkpower" -magic .kind ice .power 30 -skills [.name "iceball" .elements ["water", "cold"], .name "snowgrave" .elements ["evilness"]] -items ["oreos", "rebellion"] -proceed -sure false ``` ```go // by default it lower snake cases every field name type Skills struct { Name string `slag:"name"` Elements []string `slag:"elements"` } type Magic struct { Proceed bool `slag:"proceed"` Sure bool `slag:"sure"` Name string `slag:"name"` Items []string `slag:"items"` Skills []Skills `slag:"skills"` Magic string `slag:"magic"` Power int `slag:"power"` } defaults := Magic{ Name : "Cool", Magic: "Fire", Power: 50, } var m Magic slag.Parse(&m) slag.ParseWithDefaults(&m, defaults) fmt.Printf("%v", m) ```