In the projects, in which I work, it comes up that I am asked what I recommend for xyz. So that I don't forget half of the information, I'll started to collect it thematically and in a more or less structured way and publish it here. Here my hopefully helpful resources for the Go language.
- research!rsc Thoughts and links about programming, by Russ Cox
- Bitfield Consulting friendly, professional go mentoring
- Boldly Go
- Eli Bendersky's website / Golang tools
- Three Dots Labs
- Go 101 Blog
- The Go Blog
- Redowan's Reflections
- Over-Engineered
- Practical Go A collection of real world advice for writing maintainable Go programs.
- willem.dev
- Sameer Ajmani
- Noam Yadgar
- Go Weekly: https://golangweekly.com/issues/
- Golang Weekly @Medium: https://golang.thisweekin.io/
- Golang Nugget: https://golangnugget.com/
- The applied Go weekly newsletter: https://newsletter.appliedgo.net/archive
- my recommend books on golang can be found here
- The Zen of Go
- Go Proverbs
- Coroutines for Go
- A Guide to the Go Garbage Collector
- Getting to Go: The Journey of Go's Garbage Collector
- Writing and Optimizing Go code
- Implementing WebSocket Protocol in Go
- Common pitfalls in Go benchmarking
- Avelinos awesome-go: A curated list of awesome Go frameworks, libraries and software
- Rob Muhlesteins awesome-go
- Quick tip: A time-saving Makefile for your Go projects
- 🌶️ Picnic-TUI - Where Go and Groceries Create a Command-Line Feast
- Use Abstraction to Improve Function Readability
- Disagreeing with "best practices"
- Linear code is more readable ➡️ There is always the danger that with time compact functions become real "monsters" that are hard to read or understand. one of my last experiences was a function where the indented code was only visible, without scrolling, on the last 20% of the monitor (49" Samsung CRG 9) on the right side. Not my code, should help to debug, will we need a 49" monitor for debugging or two of them side by side in future? A healthy balance would suit us all.
- Go Code Review Comments This page collects common comments made during reviews of Go code, so that a single detailed explanation can be referred to by shorthands. This is a laundry list of common style issues, not a comprehensive style guide.
- A curated list of awesome Machine Learning frameworks, libraries and software.: https://github.com/josephmisiti/awesome-machine-learning?tab=readme-ov-file#go
- Go Forum: https://forum.golangbridge.org/
Go Forum: https://godev.com/2025-03-18: no longer accessible- r/golang: https://www.reddit.com/r/golang/
- golang-nuts: https://groups.google.com/g/golang-nuts
- golang-dev: https://groups.google.com/g/golang-dev
- Go vs. Python: an introduction to Go for senior (Python) developers
- Learning Go as a Python Developer: The Good and The Bad
- Go for Python Programmers
- Go Style
- golang-standards
- Tools for Go projects
- How to start a Go project in 2023
- Go gotchas, surprises, puzzles
- Do you make these Go coding mistakes?
- golangci-lint, fast linters Runner for Go
- 🌶️ JSON-to-Go, convert JSON to Go struct
- When is it OK to panic in Go?: https://www.alexedwards.net/blog/when-is-it-ok-to-panic-in-go
- On the uses and misuses of panics in Go: https://eli.thegreenplace.net/2018/on-the-uses-and-misuses-of-panics-in-go/
- Hands on exercises with real-life examples to study and practice Go concurrency patterns. Test-cases are provided to verify your answers.
- Google I/O 2013 - Advanced Go Concurrency Patterns
- Mastering Concurrency: Unveiling the Magic of Go's Scheduler
- A powerful little TUI framework
- 🌶️ Charm libs Everything you need to build great stuff for the terminal.
- Terminal UI library with rich, interactive widgets — written in Golang
- Struct-based argument parsing in Go
- A simple, fast, and fun package for building command line apps in Go
- A Commander for modern Go CLI interactions
- 🌶️ Kong is a command-line parser for Go
- Simple, extremely lightweight, extensible, configuration management library for Go Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper.
- The simplest config loader for Go that reads/watches from file, env, flag and clouds (AWS, Azure, GCP)
- Config file validator: Cross Platform tool to validate configuration files:
https://github.com/Boeing/config-file-validator - go-flags: go command line option parser
https://github.com/jessevdk/go-flags - go-arg: Struct-based argument parsing in Go
https://github.com/alexflint/go-arg
- Cup o' Go Stay up to date with the Go community in just 15 minutes per week.
- Ardan Labs Podcast This podcast features intimate conversations with engineers who are in the forefront of building or teaching technology.
- go podcast()
- Go Time
- Build desktop applications using Go & Web Technologies.
- bubbletea, A powerful little TUI framework
- gocui - Minimalist Go package aimed at creating Console User Interfaces.
- React-like desktop GUI toolkit for Go: https://github.com/roblillack/spot/
- Cogent Core - A free and open source framework for building powerful, fast, elegant 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, and the web with a single Go codebase, allowing you to Code Once, Run Everywhere.: https://github.com/cogentcore/core
- nucular: https://github.com/aarzilli/nucular
- Trending Go Projects
- grank.dev tries to help to choose the right dependencies for your next golang project.
- Go packages
- A curated list of awesome Go frameworks, libraries and software
- Awesome-go list with stars. Automatically updated.
- Top Go Libraries 2025: https://libs.tech/go
- goreleaser - Deliver Go binaries as fast and easily as possible: https://github.com/goreleaser/goreleaser
- The ultimate justfile for any golang project: https://github.com/crazywolf132/ultimate-gojust
- What do you use as build system?: https://www.reddit.com/r/golang/comments/196cowu/what_do_you_use_as_build_system/
- task/taskfile - task runner/simpler Make alternative written in Go: https://github.com/go-task/task
- just - a command runner: https://github.com/casey/just
Based on a question from my team mate who is used to Pythons line_profiler (%lprun) and memory_profiler (%mprun).
- The Busy Developer's Guide to Go Profiling, Tracing and Observability
- Debugging Go Code: Using pprof and trace to Diagnose and Fix Performance Issues
- Profiling Go Programs
- Profiling Go programs with pprof
- How I investigated memory leaks in Go using pprof on a large codebase
- Go pprof – How to Understand Where There is Memory Retention
- 🌶️ felixge's notes on the various go profiling methods that are available.
- Package collectors provides implementations of prometheus.Collector to conveniently collect process and Go-related metrics.
- Parca is a continuous profiling project.
- Grafana Phlare lets you aggregate continuous profiling data with high availability, multi-tenancy, and durable storage.
- Package trace contains facilities for programs to generate traces for the Go execution tracer.
- 🌶️ Go by Example: Testing and Benchmarking
- Profiling and Optimising Go Code
- Tips to debug hanging Go programs: https://michael.stapelberg.ch/posts/2025-02-27-debug-hanging-go-programs/
- Unlocking Hidden Performance Bottlenecks in Golang using GoFr: The Underrated Power of pprof: https://dev.to/aryanmehrotra/unlocking-hidden-performance-bottlenecks-in-golang-using-gofr-the-underrated-power-of-pprof-2dc7
- Patterns and Techniques for Writing High-Performance Applications with Go: https://goperf.dev/
-
my recommend books on golang can be found here
-
Practice Go: a collection of Go programming challenges: https://github.com/plutov/practice-go
-
GoLab is a collection of simple Go projects designed to help learn and explore the Go programming language.: https://github.com/MuhammadSaim/go-lab
-
Five Go Projects: https://github.com/dreamsofcode-io/goprojects Not only five ideas to start with also includes code!
-
Go go-to guide: https://yourbasic.org/golang/ by Stefan Nilsson
-
Golang tutorial series: https://golangbot.com/learn-golang-series/ by Naveen Ramanathan
-
Practical Go: Real world advice for writing maintainable Go programs:
https://dave.cheney.net/practical-go/presentations/gophercon-singapore-2019.html -
Concurrency vs. Parallelism:
https://www.thecoder.cafe/p/concurrency-is-not-parallelism -
🌶️ Algorithms and Data Structures implemented in Go for beginners, following best practices.
-
govulncheck Govulncheck reports known vulnerabilities that affect Go code.
-
Structured, pluggable logging for Go. ➡️ Go 1.21 will offer the new slog package
-
On Udemy I can recommend the golang courses from Trevor Sawler
-
📺 Golang UK Conference 2017 | Achilleas Anagnostopoulos - Can you write an OS Kernel in Go?
-
go_assessment, a port of Rebecca Murphey's js-assessment for Go. This is a tool for assessing or practicing beginner level programming in Golang.
-
Visualize Go slices and arrays Explore the connection between slices and arrays by generating diagrams from Go code.
-
📝 go-form Render forms in go based on struct layout
-
Official Golang Frequently Asked Questions (FAQ): https://go.dev/doc/faq
-
r/golang FAQ: https://www.reddit.com/r/golang/wiki/r_golang_faqs/
-
Code to Read When Learning Go
https://www.somethingsimilar.com/2013/12/26/code-to-read-when-learning-go/
- An overview of Go syntax and features.
- cheat sheet GO PDF
- Go Programming (Golang) Cheat Sheet
- Go cheatsheet
- ♨️ Stream: Go 10 Week Backend Eng Onboarding
- Companies using Go
- Roadmap: Go Developer
- Roadmap: Backend Developer
- Roadmap: DevOps Roadmap
- Roadmap: System Design
- Find your remote work here ➡️ it's backend on github Collection of remote job opportunities from around the world.
- Remote Jobs
- Remote Software Engineering Jobs
- echojobs
- German tech jobs
- Go / Golang Jobs & developers
- Golang Jobs - OnSite and Remote Golang Jobs: https://golangjob.xyz/
- A curated list of awesome remote jobs and resources. Inspired by: https://github.com/lukasz-madon/awesome-remote-job
- Working Nomads: https://www.workingnomads.com/jobs?tag=golang
- Remote OK: https://remoteok.com/remote-golang-jobs
- We Work Remotely: https://weworkremotely.com/remote-jobs/search?term=golang
- foundit.in (mostly India): https://www.foundit.in/srp/results?query=golang
- gojobs: https://gojobs.run/
- Jobs for developers: https://jobsfordevelopers.com/golang-jobs
- Career Strategy: A Proven Guide to Building Your Path to Success
https://diamantinoalmeida.com/career-strategy-a-proven-guide-to-building-your-path-to-success/ - EasyJob AI
https://easyjobai.com/search/golang
Starting projects to learn from source and to get ideas what to build to learn and improve your skills.
- ♨️ Generate invoices from the command line
- ♨️ Simple command-line snippet manager, written in Go.
- ♨️ A small ecomerce site for buying books
- Browsers Extensions Finder (BEXfinder) is a portable and cross-platform (Windows, Linux and MacOS) command-line tool to find out all web browsers (Google Chrome, Microsoft Edge, Brave Browser, Mozilla FireFox, Opera, etc.) extensions installed on system.
- Command line tool written in Go. It allows developers to scan their local Git repositories and generate a visual contributions graph.
- CLI for interacting with the recreation.gov API
- Repositories in Golang by Mitchell Hashimoto
- Storing IP addresses for quick CLI access
- A practical event-driven microservices demo built with Golang. Nomad, Consul Connect, Vault, and Terraform for deployment
- What are your favourite, opensource golang projects from a code quality perspective
- Live collaboration tool built with Go backend and Next.js, Typescript, & Tailwind frontend
- htmx-hackernews Hackernews made with htmx and Go
- gotes-mx This is a teeny tiny template repo for my own personal use. This setup meant for a fullstack Go project with templating support with HTMX.
- cli generator for .ignore files
- Go-based web crawler for data extraction
- Simple CLI tool for working with Gitlab issues
- Telegram bot
- Language Server (LSP) für die Deutsche Programmiersprache
- YouTube description and information downloader.
- A TUI app for finding anime scenes by image.
- clipboard for golang
- Making it easy to write shell-like scripts in Go
- Self-hosted file converter server
- A CLI tool for displaying data related to the English Premier League.
- Airbnb scraper made in Go
- Amazon crawler made in Go
- A commands bookmark for terminal
- Bookmarking CLI tool with automatic sync
- minesweeper cli
- Terminal dictionary for English Learners
- Go programs for interacting with Mastodon
- A reddit multimedia downloader
- Reddit Top Posts Scraper
- A CLI based daily timer
- HTTP status codes on speed dial
- graft is a tool to find and transfer files written in go
- This command-line application generates random words based on user preferences and allows you to save them to a file.
- ♨️ A highly customisable CLI tool for writing conventional commits
- Spotify TUI player, written in Go
- Create GIFs on the fly with ffmpeg
- A CLI tool for importing and utilizing exported social media data from popular services on Hugo websites.
- A distributed, fault-tolerant task queue: https://github.com/hatchet-dev/hatchet
- ClickUp is a Go-based CLI tool that fetches and organizes tasks from ClickUp using their API: https://github.com/halabito8/clickup-tasks/tree/master
- boring: The
boringSSH tunnel manager: https://github.com/alebeck/boring - An persistent relational database built in Go.: https://github.com/Sahilb315/AtomixDB
- A modern command-line interface for TickTick task management: https://github.com/sho0pi/tickli
- Visualize your local Git contributions with Go: https://flaviocopes.com/go-git-contributions/
- Build a Command Line app with Go: lolcat: https://flaviocopes.com/go-tutorial-lolcat/
- Building a CLI command with Go: cowsay: https://flaviocopes.com/go-tutorial-cowsay/
- Go CLI tutorial: fortune clone: https://flaviocopes.com/go-tutorial-fortune/
- Use Go to get a list of repositories from GitHub: https://flaviocopes.com/go-github-api/
- Command line weather app written in Go: https://github.com/josephburgess/gust
- cz is a command-line tool for creating consistent, semantic commit messages with an interactive and user-friendly interface.: https://github.com/rockingrohit9639/cz
- A CLI tool written in Go that allows you to view data about Pokémon from the terminal.: https://github.com/digitalghost-dev/poke-cli
- A no-frills time tracking toolkit for command line nerds: https://github.com/dhth/hours
- GoTOTP is a Simple Time-Based One-Time Password (TOTP) Library: https://github.com/MrTuNNe/GoTOTP
- Attendance Tracker TUI from scratch, made in go
https://github.com/sahaj-b/go-attend - lastfmq - command-line tool/web scraper to query Last.fm artist information
https://github.com/oiweiwei/lastfmq - goFind - file pattern search
https://github.com/Lukas-Fohl/goFind?tab=readme-ov-file - Gozelle - A Blazing fast smart cd command written in go
https://github.com/ATLIOD/Gozelle/ - AnonymoUS is a web-chatting application that aims to be completely anonymous. Each step, from authenications to messages sent are encrypted with their own technique to provide more security. Enjoy the various plugins like stock predictor or Meme Generator !
https://github.com/zelshahawy/AnonymoUS/tree/main - vanta - A lightweight protocol-aware packet analyzer and behavioral exporter. Created as a personal response to global academic freedom challenges.
https://github.com/lixiasky/vanta - tdm is a fast and lightweight download manager that runs in your terminal
https://github.com/NamanBalaji/tdm - MPM - my_project_manager is a command-line tool designed for developers who manage numerous projects.
https://github.com/giovapanasiti/my_project_manager - goso - Stack Overflow CLI search tool written in Go
https://github.com/shadowy-pycoder/goso - for advanced users: anubis - Weighs the soul of incoming HTTP requests to stop AI crawlers
https://github.com/TecharoHQ/anubis - qrypad - A simple terminal UI for quick, ad-hoc database exploration
https://github.com/wheelibin/qrypad
- Cemetery Escape is a game that you can play in your terminal: https://github.com/tom-on-the-internet/cemetery-escape
- Clone of the MicroProse game, Master of Magic: https://github.com/kazzmir/master-of-magic
- A simple shooting game using ebitengine and golang: https://github.com/yohamta/godanmaku
- top down panzer game written in golang and ebiten: https://github.com/brotherhood-of-recursive-descent/tankism
- Roguelite game made with Go and Raylib - Demo & Game is available on Steam: https://github.com/unklnik/mr_snuggles_dungeon_adventure
- To find open source projects to contribute to check good first issue
- Explore open source projects and jump in!
- Community-Powered, Connecting you with Open-Source
- Go Class by Matt KØDVB
- Go Programming – Golang Course with Bonus Projects by Freecodecamp
- Learn Go Programming - Golang Tutorial for Beginners by Freecodecamp
- Learn Go Programming by Building 11 Projects – Full Course by Freecodecamp
- GPN18 - Go für Programmierer
- Advanced Golang
- Golang By Example For Beginners
- 10x Golang Engineer
- Go (Golang): Eine Einführung in 130 Minuten // deutsch: https://www.youtube.com/watch?v=eqSjKOPt7dg
- Golang Tutorial for Beginners | Full Go Course: https://www.youtube.com/watch?v=yyUHQIec83I
- Learn GO Fast: Full Tutorial: https://www.youtube.com/watch?v=8uiZC0l4Ajw
- Full Golang Tutorial - Learn Go by Building a TodoList App: https://www.youtube.com/watch?v=XCZWyN9ZbEQ
- Go for Absolute Beginners – Tutorial: https://www.youtube.com/watch?v=akosxcqJorU
- Go Programming Tutorial – 3 Beginner Projects: https://www.youtube.com/watch?v=k_V5VvYSlS4
Some resources to find recorded talks from GopherCon Conferences:
- https://www.youtube.com/@NicJackson/videos
- https://www.youtube.com/@MarioCarrion
- https://www.youtube.com/@nicolasparada
- https://www.youtube.com/@ChamiViews
- https://www.youtube.com/@anthonygg_
https://www.youtube.com/@NerdCademyDev/featuredno longer active- https://www.youtube.com/@bmdavis419
- https://www.youtube.com/@ThomasLanghorst
- https://www.youtube.com/@MelkeyDev
- https://www.youtube.com/@codeheim
- https://www.youtube.com/@TiagoTaquelim/
- https://www.youtube.com/@joshrosso/ (seems inactive, but anyways interesting)
- https://www.youtube.com/@programmingpercy/
- https://www.youtube.com/@AkhilSharmaTech/
- https://www.youtube.com/@DonaldFeury/ (dated, but interesting)
- https://www.youtube.com/@samxsmith9102/
- https://www.youtube.com/@samvcodes
- https://www.youtube.com/@rwxrob/
- https://www.youtube.com/@JustForFunc/ (dated, but still interesting)
- https://www.youtube.com/@TsodingDaily/search?query=golang
- https://www.youtube.com/@mr_mux408/search?query=golang
- https://www.youtube.com/@FloWoelki/search?query=golang
- https://www.youtube.com/@kantancoding/videos (not about golang, but interesting for coding in general)
- https://www.youtube.com/@softwarechats9307/videos (short videos with ideas to think about)
- https://www.youtube.com/@NetNinja/search?query=golang
- https://www.youtube.com/@BekBrace/
- https://www.youtube.com/@bastisprogrammingcorner/
- https://www.youtube.com/@codingwithsphere/
- https://www.youtube.com/@packagemain/
- bluemonday: a fast golang HTML sanitizer (inspired by the OWASP Java HTML Sanitizer) to scrub user generated content of XSS
- How I write HTTP services after eight years.
- go-app: A package to build progressive web apps with Go programming language and WebAssembly.
- chi - lightweight, idiomatic and composable router for building Go HTTP services
Drop by and learn!
- https://github.com/Jeffail
- https://github.com/TotallyGamerJet
- https://github.com/aarzilli
- https://github.com/alecthomas/
- https://github.com/benbjohnson
- https://github.com/bradfitz
- https://github.com/chewxy
- https://github.com/fogleman
- https://github.com/jackc
- https://github.com/kelseyhightower
- https://github.com/klauspost
- https://github.com/lesismal
- https://github.com/mattn
- https://github.com/mr-karan
- https://github.com/nalgeon
- https://github.com/robpike
- https://github.com/rs
- https://github.com/rsc
-
📝 age: A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.
https://github.com/FiloSottile/age -
mage: a Make/rake-like dev tool using Go
https://github.com/magefile/mage -
📝 go-winres: Command line tool for adding Windows resources to executable files
https://github.com/tc-hib/go-winres -
go-sqlite-bench: Benchmarks for Golang SQLite Drivers
https://github.com/cvilsmeier/go-sqlite-bench -
go-fswatch: Go bindings for libfswatch
https://github.com/dunglas/go-fswatch -
Copier: for golang, copy value from struct to struct and more
https://github.com/jinzhu/copier -
lo: Iterate over slices, maps, channels...
https://github.com/samber/lo?tab=readme-ov-file -
dblab: The database client every command line junkie deserves.
https://github.com/danvergara/dblab -
anyquery: Query anything (JSON, CSV, GitHub, Notion, Airtable, etc.) with SQL
https://github.com/julien040/anyquery -
formulosity: Self-hosted Surveys as Code platform.
https://github.com/plutov/formulosity -
📝 gocron: Easy and fluent Go cron scheduling.
https://github.com/go-co-op/gocron -
prs: Stay updated on PRs from your terminal
https://github.com/dhth/prs -
📝 sqlc: Generate type-safe code from SQL
https://github.com/sqlc-dev/sqlc -
conc: Better structured concurrency for go
https://github.com/sourcegraph/conc -
testify: A toolkit with common assertions and mocks that plays nicely with the standard library
https://github.com/stretchr/testify -
color: Color package for Go (golang)
https://github.com/fatih/color -
tb.go: Tasks, boards & notes for the command-line habitat
https://github.com/araaha/tb.go -
gofumpt: A stricter gofmt
https://github.com/mvdan/gofumpt -
modfmt: Tidy up your go.mod files by merging the require blocks
https://github.com/abhijit-hota/modfmt -
koanf: Simple, extremely lightweight, extensible, configuration management library for Go. Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper.
https://github.com/knadh/koanf -
📝 Kong is a command-line parser for Go
https://github.com/alecthomas/kong -
env: A simple, zero-dependencies library to parse environment variables into structs
https://github.com/caarlos0/env -
cleanenv: Clean and minimalistic environment configuration reader for Golang
https://github.com/ilyakaznacheev/cleanenv -
konf: The simplest config loader for Go that reads/watches from file, env, flag and clouds (AWS, Azure, GCP).
https://github.com/nil-go/konf -
📝 bubbletea: A powerful little TUI framework
https://github.com/charmbracelet/bubbletea -
📝 rod: A Chrome DevTools Protocol driver for web automation and scraping.
https://github.com/go-rod/rod -
📝 goawk: A POSIX-compliant AWK interpreter written in Go, with CSV support
https://github.com/benhoyt/goawk -
📝 miller: is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON
https://github.com/johnkerl/miller
-
pulse: Like a fitness tracker for your coding sessions
https://github.com/creativecreature/pulse -
revive: ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint
https://github.com/mgechev/revive -
pipet: Swiss-army tool for scraping and extracting data from online assets, made for hackers
https://github.com/bjesus/pipet
If you find this notes helpful and want to support me, you can do so by Buy me a coffee! ☕ it will keep my motivation high and I will be really thankful.