A curated list of tutorials, articles, slides, videos and books about Go programming language.
- A Closer Look at Golang From an Architect’s Perspective - Golang from an architect’s perspective to show individual aspects of the language by Shiju Varghese (June 2015)
- A Practical Guide To Protocol Buffers In Go - An in-depth article about protobuf implementation in Go by Mina Andrawos (May 2014)
- Build Your Own Web Framework In Go - Series of articles (five parts) on building your own web framework by using existing libraries or writing components from scratch. (Nicolas Merouze, Nov 2014)
- Building a large-scale code search engine in Go - Article of the original talk about Sourcegraph (a large-scale code search engine in Go) at Google I/O 2014. Slides, source files and YouTube video is also available. (Quinn Slack, July 2014)
- Design Patterns in Golang: Singleton - Golang implementation of singleton design pattern by Svett Ralchev (January 2016)
- Effective Go - Official must-read documentation.
- Go Best Practices, six year in - A very detailed article which covers go best pratices from dozens different point of views. From the talk at QCon London 2016. (Peter Bourgon, 2016)
- Go database/sql Tutorial - Categorized quick-reference and a good "getting started" orientation for database/sql package. Hosted on Github. (VividCortex, 2015)
- Go Kit: Go in the modern enterprise - Article about the original talk from 2015 FOSDEM and the Google Campus London meetup. (February 2015)
- Go Object Oriented Design - Translation of the Practical Object-Oriented Programming in Ruby examples to Go by Nathan Youngman.
- Illustrated Guide to SQLX - Sqlx is a package for Go which provides a set of extensions on top of the excellent built-in database/sql package. This article examines Go idioms and documents sqlx package usage. (Jason Moiron, 2015)
- Interesting Ways of Using Go Channels - Demonstration of various techniques how to use channels in Go. Based on Graham-Cumming's A Channel Compendium presentation during GopherCon 2014. (Gary Willoughby, January 2016)
- Iterators in Go - A Survey of Iterator (or Generator) Patterns in golang by Ewen Cheslack-Postava (September 2013)
- Making an extensible wiki system with Go by James Adam - Covers writing a single-page web application which provides an extensible wiki system using Go, Backbone and Marionette. (November 2015)
- Practical Persistence in Go - An article about organising database access in Go by Alex Edwards (July 2015)
- The factory method pattern in Go - Factory design pattern implementation in golang by Matthew Brown. (January 2016)
- Time in Go: A primer - A blog post which covers date formatting, locations, parsing, datetime comparison & calculations with Go by Machiel Molenaar. (April 2016)
- Visualizing Concurrency in Go - A very detailed article about visualizing common concurrency patterns using Go and WebGL by Ivan Daniluk. (January 2016)
- Writing a Text Adventure Game in Go, Part 1 - This is first part of a four-part article series which covers writing a simple text based game in Golang by Paul Fortin. (March 2016) - See also Part 2, Part 3 and Part 4
- Another Go at Language Design (Youtube, 1:15:43) - Rob Pike, a Principal Engineer at Google, Inc., discusses possible reasons why new computer languages keep appearing and why they led Google engineers to define yet another language, Go. (Aug 2010)
- Build Web Apps with Go Language (Youtube, 1:37:40) - A good screencast about building web applications with Go by Todd McLeod (May 2015)
- Common mistakes in Go and when to avoid them (Youtube, 27:57) - Steve Francia talks about most common mistakes in Go. (Gopherfest 2015)
- Get Started with Go (Youtube, 24:44) - An excellent GO tutorial by Andrew Gerrand. (Aug 2012)
- Go and the Modern Enterprise (Youtube, 35:52) - Peter Bourgon talks about Go's place in the Modern Enterprise and introduces the gokit project. (London Go Gathering, 2015)
- Go Concurrency Patterns (Youtube, 51:26) - Presentation about Go's concurrency capablities by Rob Pike (Google I/O 2012)
- Go Programming (Youtube, 52:57) - Introduction to Go Programming by Derek Banas.
- Go Tooling In Action (Youtube, 41:50) - An awesome screencast introducing dozen of tips on go tooling, testing, profiling and benchmarking. (Francesc Campoy, 2016)
- Go: The Cool Parts (Vimeo, 37:53) - An introductory talk to Go by Frances Campoy (Øredev Conference, 2015)
- Json, Interfaces & Go Generate (Youtube, 32:24) - Francesc Campoy talks about JSON encoding and decoding, interfaces, and the new "go generate" command at London Go Gathering. (2015)
- Vendoring Your Dependencies (Youtube, 5:53) - Explains what vendoring is and why you should do it to get reproducible builds. (November 2015)
- Go 102: A Go Workshop - A slide deck to accompany the workshop by Tim Blair. Covers built-in types, variable declarations, functions, custom types, object oriented development and concurrency. (November 2015)
- Go at Google - Slides from SPLASH, Tucson by Rob Pike (October 2012)
- Go Concurrency Patterns - Slides of the Rob Pike's presentation on Google I/O (2012)
- Go: The Cool Parts - An introductory talk to Go where we will discuss why Go's popularity is raising so fast. Presented at Øredev by Frances Campoy (Vimeo).
- Golang ORMs - A survey of the current state of Golang ORMs. (Jan 2014, Jesse Szwedko)
- How Go was Made - GopherCon Closing Keynote by Andrew Gerrand (July 2015)
- Organizing Go Code - Presented at Google I/O 2014 by David Crawshaw.
- An Introduction to Programming in Go (161 Pages, 2012) - A free book about short, concise introduction to computer programming using the language Go. (Author: Caleb Doxsey)
- A Go Developer's Notebook (151 pages, 2014) - Leanpub. (Author: Eleanor McHugh)
- Build Web Application with Golang - An open source book that takes you through the steps of developing a web application in Go. (Author: astaxie - Available in PDF, ePub, Mobi)
- Building Web Apps with Go (40 pages) - Learn how to build and deploy web applications with Go (Author: Jeremy Saenz)
- Go Bootcamp - Everything you need to know to get started with Go. (Author: Matt Aimonetti)
- Go In Action (264 Pages, November 2015) - Go in Action introduces the Go Language with unique features and concepts.(Authors: William Kennedy, Brian Ketelsen, Erik St. Martin)
- Learning Go (112 Pages, PDF, 2012) - An introduction to the Go language from Google, which aims to provide a guide to this new and innovative language. (Author: Miek Gieben)
- Network programming with Go - An e-book on building network applications using the Google Go programming language. (2012, Covers Go 1. Author: Jan Newmarch)
- The Go Programming Language (380 Pages, 2015) - This book is meant to help you start using Go effectively right away and to use it well, taking full advantage of Go’s language features and standard libraries to write clear, idiomatic and efficient programs. (Authors: Alan A. A. Donovan & Brian W. Kernighan)
- The Little Go Book - The Little Go Book is a free introduction to Google's Go programming language. It's aimed at developers who might not be quite comfortable with the idea of pointers and static typing. (October 2014, Author: Karl Seguin)
- The Way To Go (628 pages, March 2012) - A Thorough Introduction To The Go Programming Language. (Author: Ivo Balbaert)
- A Tour of Go - Official interactive tour of the Go programming language. Available in 16 languages.
- Awesome Go - A curated list of awesome Go frameworks, libraries and software by Thiago Avelino
- Go by Example - Hands-on introduction to Go using annotated example programs by Mark McGranaghan
- Go Cheat Sheet - An overview of Go syntax and features by Ariel Mashraki.
- Golang Official Wiki - Official go wiki, a collection of information about the Go Programming Language on Github.
- Curated Go Resources - recommended resources voted by Programming Community.
Do you know other good resources about go? Please fork, add links and make a pull request!