Intro
'Learn Go' contains resources useful both for learning and for improving your skill within Go.
Official resources
- Go - official site.
- Documentation - official documentation.
- A Tour of Go - a tour of the Go programming language.
- The Go Playground - allows anyone with a web browser to write Go code that we immediately compile, link, and run on our servers.
- Packages - information about Go packages and modules.
- The Go Programming Language - source code for Go.
- Books - officially recommended books from Go maintainers.
Community resources
- Awesome Go - a curated list of awesome Go frameworks, libraries and software.
- Awesome Go Books - a huge number of books for Go development with a brief description.
- Go by Example - a hands-on introduction to Go using annotated example programs.
- Standard Go Project Layout - a basic layout for Go application projects.
YouTube Channels
- The Go Programming Language - Official YouTube channel.
- Golang Dojo - Golang Golang Golang! | Go Programming.
- GopherCon UK - Recordings of sessions at our annual GopherCon UK Conference events.
- Golang Cafe - Golang Cafe is the first Go Job Board with no recruiters and clear salary ranges and a community where you can learn the Go programming language.
- GoLang Beginners - programming tutorials for beginner in Go Programming.
Versions
Date | Version | Description | Release Notes |
---|---|---|---|
2015-08-19 | 1.5 | - Runtime (GOMAXPROCS equals available CPU Cores) |
https://go.dev/doc/go1.5 |
2019-09-03 | 1.13 | - Error wrapping (%w directive) |
https://go.dev/doc/go1.13 |
2020-02-25 | 1.14 | - Runtime (Go scheduler is preemptive (was cooperative)) | https://go.dev/doc/go1.14 |
2022-03-15 | 1.18 | - Generics (predeclared identifier any is an alias for the empty interface) |
https://go.dev/doc/go1.18 |
Packages
Name | Description | Module | Source code |
---|---|---|---|
cobra |
Cobra is a library for creating powerful modern CLI applications. | github.com/spf13/cobra |
https://github.com/spf13/cobra |
yaml |
YAML support for the Go language | gopkg.in/yaml.v3 |
https://github.com/go-yaml/yaml |
ini |
Package ini provides INI file read and write functionality in Go. | gopkg.in/ini.v1 |
https://github.com/go-ini/ini |
pg |
A pure Go postgres driver for Go's database/sql package | github.com/lib/pq |
https://github.com/lib/pq |
migrate |
Database migrations written in Go | github.com/golang-migrate/migrate/v4 |
https://github.com/golang-migrate/migrate |
uuid |
The uuid package generates and inspects UUIDs | github.com/google/uuid |
https://github.com/google/uuid |