func Decode(args []string, element interface{}) error
Decode decodes the given flag arguments into the given element.
The operation goes through four stages roughly summarized as:
flag arguments -> parsed map of flags
map -> tree of untyped nodes
untyped nodes -> nodes augmented with metadata such as kind (inferred from element)
"typed" nodes -> typed element
Encode encodes the configuration in element into the flags represented in the returned Flats.
The operation goes through three stages roughly summarized as:
typed configuration in element -> tree of untyped nodes
untyped nodes -> nodes augmented with metadata such as kind (inferred from element)
"typed" nodes -> flags with default values (determined by type/kind)
Parse parses the command-line flag arguments into a map,
using the type information in element to discriminate whether a flag is supposed to be a bool,
and other such ambiguities.