func (fs *FlagSet) Init(name, description string, errorHandling ErrorHandling) {
	fs.args = nil
	fs.found = make(map[string]*Flag)
	fs.flags = make(map[string]*Flag)
	fs.description = description
	fs.name = name
	fs.errorHandling = errorHandling
}
Init initializes the flag set with the given name, description and error
handling policy.
package flagga
import (
	"fmt"
	"io"
	"os"
	"reflect"
	"strings"
	"time"
)
type Flag struct {
	Name       string
	Usage      string
	Value      Value
	Default    interface{}
	Extractors []Extractor
}
type FlagSet struct {
	name          string
	description   string
	parsed        bool
	args          []string
	nonFlags      []string
	sources       []Source
	flagOrder     []string
	flags         map[string]*Flag
	found         map[string]*Flag
	out           io.Writer
	errorHandling ErrorHandling
	Usage func()
}
type ErrorHandling byte
const (
	ContinueOnError ErrorHandling = iota
	ExitOnError
	PanicOnError
)
func NewFlagSet(name, description string, errorHandling ErrorHandling) *FlagSet {
	var fs FlagSet
	fs.Init(name, description, errorHandling)
	return &fs
}