func isSpaceByte(c byte) bool { … } // Split splits s into a list of fields, // allowing single or double quotes around elements. // There is no unescaping or other processing within // quoted fields. // // Keep in sync with cmd/dist/quoted.go func Split(s string) ([]string, error) { … } // Join joins a list of arguments into a string that can be parsed // with Split. Arguments are quoted only if necessary; arguments // without spaces or quotes are kept as-is. No argument may contain both // single and double quotes. func Join(args []string) (string, error) { … } type Flag … var _ … func (f *Flag) Set(v string) error { … } func (f *Flag) String() string { … }