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.