code: func (v *Value) Set(key string) error {
  	key = strings.TrimSpace(key)
  	if len(key) == 0 {
  		return fmt.Errorf("Cannot specify an empty tag.")
  	}
  
  	value := ""
  	idx := strings.Index(key, "=")
  	switch {
  	case idx == -1:
  		break
  
  	case idx == 0:
  		return fmt.Errorf("Cannot have tag with empty key.")
  
  	case idx > 0:
  		key, value = key[:idx], key[idx+1:]
  	}
  
  	// Add the entry to our tag map.
  	if len(*v) > 0 {
  		if _, ok := (*v)[key]; ok {
  			return fmt.Errorf("The tag '%s' has already been defined.", key)
  		}
  	}
  
  	// Record this tag; create a new Value, if necessary.
  	if *v == nil {
  		*v = make(Value)
  	}
  	(*v)[key] = value
  	return nil
  }
docs: // Set implements flag.Value.