In this chapter, we looked at how the Go language is very well-suited to developing graphical applications. Its design for handling concurrency makes the types of multithreading needed by GUIs easy to manage. Channels, the main thread-communication feature, are a little hard to learn, but through some basic examples, we saw how common concurrency issues could easily be avoided. The write-once-compile-anywhere ethos of Go means that developers can easily compile the same code and deliver native apps across most common platforms from a single codebase using the provided tools. As a modern language, it's designed to operate in a connected world and its support for network communications and web services is excellent – we ran examples that illustrated how objects can be easily transformed to and from common web formats.
Having explored the many ways that Go...