I spent a bit scratching my head trying to figure out why my flags weren't being set/parsed correctly. The issue was that I was using f := pflag.FlagSet{} instead of f := pflag.NewFlagSet(...)
Making an interface would be a simple way to make the behavior more obvious. Thanks!