Ответ
Да, в Go можно писать функции для работы с базами данных. Чаще всего используются драйверы database/sql и ORM вроде GORM. Пример функции для вставки данных в PostgreSQL:
func insertUser(db *sql.DB, name string, age int) error {
_, err := db.Exec("INSERT INTO users (name, age) VALUES ($1, $2)", name, age)
if err != nil {
return fmt.Errorf("insert failed: %w", err)
}
return nil
}
Ключевые моменты:
- Всегда проверяйте ошибки
- Используйте параметризованные запросы для защиты от SQL-инъекций
- Закрывайте соединения (Rows, Stmt, Tx) через defer
- Для сложных операций используйте транзакции
Для ORM типа GORM код будет более декларативным.