keys := make([]string, 0, len(set))
                  
                  
                    vals := make([]interface{}, 0, len(set))
                  
                  
                    wkeys := make([]string, 0, len(where))
                  
                  
                    for key, val := range set {
                  
                  
                      keys = append(keys, key+"=?")
                  
                  
                      vals = append(vals, val)
                  
                  
                    }
                  
                  
                  
                  
                  
                    for key, val := range where {
                  
                  
                      wkeys = append(wkeys, key+"=?")
                  
                  
                      vals = append(vals, val)
                  
                  
                    }
                  
                  
                  
                  
                  
                    return fmt.Sprintf(
                  
                  
                      "UPDATE %s SET %s WHERE %s",
                  
                  
                      table,
                  
                  
                      strings.Join(keys, ", "),
                  
                  
                      strings.Join(wkeys, ", "),
                  
                  
                    ), vals
                  
                  
                  }
                  
                  
                
что бы такой код глаза в чате не выедал выделяй его 3мя апострофами ` в конце и вначале
воооо, читабельней!
Спасибо! Круть!
попробуйте https://github.com/Masterminds/squirrel
Обсуждают сегодня