code: func ParseMap(line string) map[string]string {
  	line = strings.TrimSpace(line)
  	if line == "" {
  		return nil
  	}
  
  	r := csv.NewReader(strings.NewReader(line))
  	r.TrimLeadingSpace = true
  
  	record, err := r.Read()
  	if err == io.EOF {
  		return nil
  	}
  	if err != nil {
  		panic(err)
  	}
  
  	data := map[string]string{}
  	for i := range record {
  		p := strings.SplitN(record[i], "=", 2)
  		if len(p) == 0 {
  			continue
  		}
  		k := p[0]
  		var v string
  		if len(p) > 1 {
  			v = p[1]
  		}
  		data[k] = v
  	}
  
  	return data
  }
docs: // ParseMap parses a string into a map. The string's expected pattern is:
  //
  //         KEY1=VAL1, "KEY2=VAL2 ", "KEY 3= VAL3"
  //
  // The key/value pairs are separated by a comma and optional whitespace.
  // Please see the encoding/csv package (https://goo.gl/1j1xb9) for information
  // on how to quote keys and/or values to include leading and trailing
  // whitespace.