O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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.