package main import ( "fmt" "log" "os" "github.com/jessevdk/go-flags" "r00t2.io/pwgen/pwgenerator" ) var a Arguments func main() { var err error var genOpts *pwgenerator.GenOpts if _, err = flags.Parse(&a); err != nil { switch flagsErr := err.(type) { case *flags.Error: if flagsErr.Type == flags.ErrHelp { os.Exit(0) } log.Panicln(err) default: log.Panicln(err) } } genOpts = &pwgenerator.GenOpts{ Alpha: !a.NoAlpha, Numeric: !a.NoNum, Symbols: !a.NoSymbols, ExtendedSymbols: a.ExtendSymbols, CountUpper: a.NumUpper, CountLower: a.NumLower, CountSymbols: a.NumSymbols, CountExtended: a.NumExtended, DisabledChars: nil, LengthMin: a.MinLen, LengthMax: a.MaxLen, Count: a.Count, } fmt.Printf("%#v\n", a) fmt.Printf("%#v\n", genOpts) }