github.com/artyom/autoflags (go): Package autoflags provides a convenient way of exposing struct fields as command line flags. Exposed fields should have special tag attached:  After declaring your flags and their default values as above, just register flags with autoflags.Define and call flag.Parse() as usual:  Now config struct has its fields populated from command line flags. Call the program with flags to override default values:  Package autoflags understands all basic types supported by flag's package xxxVar functions: int, int64, uint, uint64, float64, bool, string, time.Duration. Types implementing flag.Value interface are also supported. Attaching non-empty `flag` tag to field of unsupported type would result in panic.
Keywords: command-line|go