code: func (m *Mapper) FieldsByName(v reflect.Value, names []string) []reflect.Value {
  	v = reflect.Indirect(v)
  	mustBe(v, reflect.Struct)
  
  	tm := m.TypeMap(v.Type())
  	vals := make([]reflect.Value, 0, len(names))
  	for _, name := range names {
  		fi, ok := tm.Names[name]
  		if !ok {
  			vals = append(vals, *new(reflect.Value))
  		} else {
  			vals = append(vals, FieldByIndexes(v, fi.Index))
  		}
  	}
  	return vals
  }
docs: // FieldsByName returns a slice of values corresponding to the slice of names
  // for the value.  Panics if v's Kind is not Struct or v is not Indirectable
  // to a struct Kind.  Returns zero Value for each name not found.