Whether you hate SQL or merely tolerate it, you probably use it in your application. We'll look at ways to cleanly organize your SQL code in Go.| Go Beyond
Go's lack of frameworks means you need to bring your own design. We'll walkthrough a common, reusable design pattern for create/read/update/delete in Go.| Go Beyond
Packages in Go are not like other languages. Understand how to structure them as your application grows.| Go Beyond
A blog series where we build and deploy a real-world Go application.| Go Beyond
Despite such a simple language, Go developers have found a surprising number of ways to create and use objects. In this post we’ll look at a 3-step approach to object management—instantiation, initialization, & initiation. We’ll also contrast this with other methodologies for creating and| Go Beyond
Go’s paradox is that error handling is core to the language yet the language doesn’t prescribe how to handle errors. Community efforts have been made to improve and standardize error handling but many miss the centrality of errors within our application’s domain. That is,| Go Beyond
In the last post we looked at fast, primitive encoding using strconv but in this post we’ll take a higher level approach by using templates with the fmt package. The fmt package builds on top of our knowledge of primitive formatting options but packages it in a way| Go Beyond
Formatting & parsing primitive values in Go is a common task. You probably first dipped your toes into the fmt package when you started Go, however, there’s a less commonly used package for basic formatting that’s more efficient and preserves compiler type checking. The strconv package| Go Beyond