code: func expandNamedQuery(m *DbMap, query string, keyGetter func(key string) reflect.Value) (string, []interface{}) {
  	var (
  		n    int
  		args []interface{}
  	)
  	return keyRegexp.ReplaceAllStringFunc(query, func(key string) string {
  		val := keyGetter(key[1:])
  		if !val.IsValid() {
  			return key
  		}
  		args = append(args, val.Interface())
  		newVar := m.Dialect.BindVar(n)
  		n++
  		return newVar
  	}), args
  }
docs: // expandNamedQuery accepts a query with placeholders of the form ":key", and a
  // single arg of Kind Struct or Map[string].  It returns the query with the
  // dialect's placeholders, and a slice of args ready for positional insertion
  // into the query.