• 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
..
Makefile Loading commit data...
flag.go Loading commit data...
flag_test.go Loading commit data...