While working on any (well, most) web application you will come across transactions. You know, so that your data couldn’t end in a malformed state. The idea of a transaction is easily understandable. You start it, do a bunch of stuff and then either “commit” (persist changes you did while in the transaction) or “rollback” (discard the changes) it. The concept is most commonly used when communicating with databases, but is not limited just to it. You could for example write a API client that could rollback the changes it did (like deleting a user it created and such).

So in Go a transaction could be represented…

Dušan Kasan

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store