Go is a great language for web applications. The Go core library has excellent HTTP support, and the language’s support for asynchronous execution lends itself well to high-performance web applications.
While you could start a web app from scratch with the core net/http package, you can save yourself some time and pain by using one of the many web app toolkits available for Go. This article will cover a simple web app using the Gorilla web toolkit’smux package, with Postgres as the backend database. To talk to Postgres from Go, we’ll use lib/pq with the database/sql core package.