A quick "Hello, World" demo of some Go features and syntax
There are a number of steps to this demo, each with their own branch. The master branch contains the complete code.
Quick note - some of the things demoed are deliberately clunky! This is to show off certain aspects of Go more easily.
In the demo, this step shows some of the basics of Go and some of the cool things you get from free. We'll also setup the first part of our app.
This part of the demo covers a couple of Go's features that will seem a bit alien to C# and JavaScript developers. We'll see how we can return multiple values from functions, how we export functions from packages and how Go deals with error handling.
We're now venturing into Go's powerful type system. This is very different to the C# and JavaScript worlds. We'll see how to create a custom type and why we'd want to do that how to define interfaces and how to "implement" them and how to create structs. We'll also look at dates, because why not.
One of Go's biggest strengths is how it handles concurrency. In this section of the demo we'll have a whirlwind tour of some of Go's concurrency features