Oreilly - Intermediate Go Programming
by | Released December 2015 | ISBN: 9781491944073
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 SQLiteJohn 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. Show and hide more Publisher resources View/Submit Errata
- Syntax Recap 00:53:10
- Go's build tool 00:12:44
- Comparison 00:12:44
- Slices 00:06:31
- Garbage collection and garbage reduction 00:14:55
- Methods and Interfaces 00:10:21
- Interfaces for mocking in unit tests 00:05:41
- Concurrency 00:17:35
- Lesser known Go tools 00:04:31
- Using the Go profiler to optimize code for speed 00:08:25
- Idiomatic Go 00:17:14
- Package management and vendoring approaches 00:04:19
- Building a scalable work system 00:15:31
- Talking to a database in Go 00:06:19
- Serving a JSON API using Go 00:09:48
Show and hide more