• Rob Pike's avatar
    Flags: add user-defined flag types. The change is really no code; it's just publishing · 570af81e
    Rob Pike authored
    the set() method and add() functions.  But we rename add() to Var() for consistency.
    Also rename FlagValue to Value for simplicity.
    
    Also, delete the check for multiple settings for a flag.  This makes it possible to
    define a flag that collects values, such as into a slice of strings.
    
    type flagVar []string
    
    func (f *flagVar) String() string {
    	return fmt.Sprint(v)
    }
    
    func (f *flagVar) Set(value string) bool {
    	if v == nil {
    		v = make(flagVar, 1)
    	} else {
    		nv := make(flagVar, len(v)+1)
    		copy(nv, v)
    		v = nv
    	}
    	v[len(v)-1] = value
    	return true
    }
    
    var v flagVar
    
    func main() {
    	flag.Var(&v, "testV", "multiple values build []string")
    	flag.Parse()
    	fmt.Printf("v = %v\n", v)
    }
    
    R=rsc
    CC=golang-dev
    https://golang.org/cl/842041
    570af81e
Name
Last commit
Last update
doc Loading commit data...
include Loading commit data...
lib Loading commit data...
misc Loading commit data...
pkg Loading commit data...
src Loading commit data...
test Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
README Loading commit data...
favicon.ico Loading commit data...