Who is this e-book for?
This book is for any developer who has a basic familiarity with the Go programming language and is interested in using Go to write web applications.
If you can write simple console applications with Go, you shouldn’t have any problem understanding the contents of this short e-book.
If you’re looking for a primer on the language itself, may I humbly recommend my book Go Succinctly, which will take you from zero to… well, if not exactly mastery, to an appreciation and understanding of the Go programming language. It also gives you links to other resources that will help you become familiar with Go.
Like all e-books in Syncfusion’s Succinctly series, you can download Go Succinctly free of charge from the Syncfusion website.
Why use Go for web development?
Go is an excellent language for writing web applications, specifically for web services. In fact, it was designed specifically with the web in mind. After all, any modern programming language can hardly gain traction if it ignores the web.
So, which features of the Go programming language are particularly useful for web development? Here are a few:
Concurrency
Any decent-sized web server needs to run many thousands of tasks concurrently. Concurrency is complex and difficult in many languages because it is usually implemented as an afterthought. Concurrency, however, is built into the Go language. Indeed, concurrency is one of the main problems the Go language was designed to solve.
In Go, concurrency is achieved by using Goroutines, which are lightweight threads that allow developers to perform multiple operations asynchronously. These are incredibly useful in web applications. For example, when a user connects to your web server, you can simply spawn a Goroutine to handle any interactions with that client. It’s very easy to do—merely prefix the function call with the go keyword. Better still, Goroutine scales incredibly well, and your Go web applications will purr along quite happily while servicing many thousands of users.