There is golang Flagmap package. It contains helper function to simplify adding and parsing applications flags. Flags definitions added to go map, flags parsed with Parse mesod and get result values with Get method.
Look example at examples/flagmap folder
go run ./examples/flagmap/ -flag1=Flag1-value -flag2=Flag2-value -flag3=Flag3-value -flag4=17 -flag5=true -flag6=3.14