You need a way to do atomic reads and writes, but you don&#x27;t need to have atomic types. In Go you just use sync&#x2F;atomic which implements atomicity outside the type system.<p>When you use &quot;regular&quot; operations, you don&#x27;t get atomicity, but what you get is well-defined, and explained here: <a href="https:&#x2F;&#x2F;golang.org&#x2F;ref&#x2F;mem" rel="nofollow">https:&#x2F;&#x2F;golang.org&#x2F;ref&#x2F;mem</a>.