Sobes.tech
Junior — Middle

Come implementare la gestione delle transazioni nel sistema?

sobes.tech AI

Risposta dell'AI

In Go, la gestione delle transazioni viene solitamente implementata utilizzando i metodi Begin(), Commit() e Rollback() del pacchetto database/sql. Prima si crea una transazione tramite db.Begin(), poi si eseguono le operazioni necessarie e, infine, la transazione viene confermata (Commit()) o annullata (Rollback()) in caso di errore.

Esempio:

tx, err := db.Begin()
if err != nil {
    // gestione errore
}

_, err = tx.Exec("INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
    tx.Rollback()
    // gestione errore
}

err = tx.Commit()
if err != nil {
    // gestione errore
}

Questo approccio garantisce l'atomicità delle operazioni e permette di controllare l'integrità dei dati.