Intermediate Go Programming

Video description

Designed for programmers familiar with the basics of Go, this course is an information-rich followup to Introduction to Go Programming. After a quick review of the basic Go syntax—with an emphasis on tricky areas and less common usage—expert programmer John Graham-Cumming delves into Go's build tool and more complex uses of slices, channels, goroutines, interfaces, and methods.

The video shows how to build a simple JSON API that talks to a database, and how to build a flexible system for using goroutines to do work concurrently. Tips on how to write idiomatic Go, vendoring, and mocking for unit tests are also covered.

  • Play with Go’s build tool and do workspace layouts, test and race detection, and more
  • Learn how slices are implemented and how to think about them
  • Unravel how Go handles garbage collection and reduction
  • Deep-dive into Go’s methods, method values, and interfaces
  • Learn how Go interfaces provide powerful ways to mock parts of code for unit testing
  • Discover how to optimize code for speed by using the Go profiler
  • Review Go's packages for dealing with databases, including interfacing to SQLite

John Graham-Cumming is a computer programmer and author. He studied mathematics and computation at Oxford and has a doctorate in computer security. As a programmer, he has worked in Silicon Valley and New York, the UK, Germany, and France, and currently works at CloudFlare.

Publisher resources

View/Submit Errata

Product information

  • Title: Intermediate Go Programming
  • Author(s):
  • Release date: December 2015
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781491944073