One of Go's weaknesses is the ability to initialise a struct in an 'invalid state', leading to the potential of accidental nil pointer dereferencing further down the line. Learn how we solved this pragmatically.
Golang doesn't provide constructors but instead advocates for a package-level factory method with the New convention. If only this were then the singular way of initialising an object; unfortunately this is not always necessarily the case..
Most of the code you write in Swift has to at least consider asynchronicity when building an iOS app, apart from updating the ui, and even then you have to think about where the correct place to do this is.