Go language
2020-07-31
Table of Contents
Links to go resources on Go language including learning Go.
Go (golang) programming language
- Using Go under Emacs
- Go — the Go programming language
- see Learning Go below
- Tour — interactive Go tour (write and execute examples in your browser)
- Doc — Go documentation
- Pkg — Go standard’s library documentation
- pkg.go.dev — documentation of third party Go packages
- GoDoc — (previous) documentation of third party Go packages
- gopls — language server for Go
- go guru — answers questions about Go programs by static analysis of the source code (see also user manual), mostly superseded by gopls (but Go specific channel related analysis may not be covered by gopls)
- Reading from io.Reader line by line
- gotype — does semantic analysis of a Go program and displays errors (runs faster then the go compiler)
- Tools for working with Go Code
- gore — Yet another Go REPL (useful for short experiments with Go)
- go-playground — local Go playground in Emacs
Learning Go
Introduction
- to search for Go use “golang” term instead of Go (as in the name of the official Go webpage)
- Russ Cox — A Tour of the Go Programming Language (suggested on Go documentation page)
- A Tour of Go — interactive tutorial which allows you to edit compile and run examples in the browser
- How to Write Go Code
- IDEs and Plugins for Go. Examples (open source): using Go under Emacs, go-plus package for Atom editor, LiteIDE.
Videos (with links to slides)
- dotGo 2015 — Rob Pike — Simplicity is Complicated [slides] — one of three original authors of Go
- Øredev Conference 2012 — Andrew Gerrand — Code that grows with grace [slides] (suggested on Go documentation page)
- Google I/O 2012 — Rob Pike — Go Concurrency Patterns [slides] — one of three original authors of Go (suggested on Go documentation page)
- Google I/O 2013 — Samerr Ajmani — Advanced Go Concurrency Patterns [slides] (suggested on Go documentation page)
- Write in Go (Fall 2014)
- GopherCon 2015 — Robert Griesemer — The Evolution of Go [slides] — one of three original authors of Go
- Francesc Campoy — Twelve Go Best Practices [slides]
- GopherCon 2016 — Francesc Campoy — Understanding nil [slides]
- JustForFunc #16 — Francesc Campoy — Unit testing HTTP servers
- golang-syd in July 2014 — Andrew Gerrand — Testing techniques [slides]
- Golang UK Conference 2016 - Marcel van Lohuizen - Advanced Testing Concepts
- GopherCon 2014 — Richard Crowley — Building web services in Go [slides]
- Gophercon India 2016 — Brad Fitzpatrick — Introducing Go 1.6: asymptotically approaching boring [slides]
- Gophercon India 2017 — Filippo Valsorda — Fighting latency: the CPU profiler is not your ally [slides]
Articles
- Go Slices: usage and internals
- SliceTricks
- Strings, bytes, runes and characters in Go
- Go maps in action
- Godoc: documenting Go code
- Effective Go
- Errors are values
- Package names
- Reading from io.Reader line by line
- Go database/sql tutorial
See also