Пример удобной библиотеки для генерации SQL кода в Golang. Нет необходимости писать большие и сложные sprintf и делать экранирование вручную. Просто воспользуемся удобными синтаксисом библиотеки squirrel.
Для начала:
import "github.com/Masterminds/squirrel"
Теперь допустим нам нужно добавить новую запись в нашу postgres табличку.
Для начала важно указать корректный placholder формат, без этого Postgres будет выдавать ошибку на сгенерированный SQL:
psql := sq.StatementBuilder.PlaceholderFormat(sq.Dollar)
Теперь напишем SQL запрос и отправим его на выполнение:
sql, args, _ := psql. Insert("reports"). Columns("column1", "column2", "column3"). Values( "value1", "value2", "value3"). ToSql() _, err := m.db.Exec(sql, args...) if err != nil { return err }