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 ressoures 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
- 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.
- Go Forum: https://forum.golangbridge.org/
- Go Forum: https://godev.com/
- 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
- 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
- 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.
- 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.
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
- my recommend books on golang can be found here
- List of Golang books
- 🔉 Jumping into an existing codebase
- 🌶️ Algorithms and Data Structures implemented in Go for beginners, following best practices.
- Effective Go
- Building an application with go and sqlite
- Building a web app with go and sqlite
- Building a web app with go and sqlite part 2
- Building a web app with go and sqlite part 3
- Building a web app with go and sqlite part 4
- Building a web app with go and sqlite part 5
- govulncheck Govulncheck reports known vulnerabilities that affect Go code.
- Crash Course on Go Interfaces
- Deliver Go binaries as fast and easily as possible
- Structured, pluggable logging for Go. ➡️ Go 1.21 will offer the new slog package
- AI on the command line
- A language for writing HTML user interfaces in Go.
- Go by Example
- 📺 Learn Go Programming - Golang Tutorial for Beginners
- 📺 Go Programming – Golang Course with Bonus Projects
- 📺 Learn Go Programming by Building 11 Projects – Full Course
- 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.
- Tutorial: Getting started with fuzzing
- Go Excellence: A Deep Dive into Error Handling
- Visualize Go slices and arrays Explore the connection between slices and arrays by generating diagrams from Go code.
- Go Tutorials & Examples
- 📝 go-form Render forms in go based on struct layout
- An overview of Go syntax and features.
- cheat sheet GO PDF
- Go Programming (Golang) Cheat Sheet
- Go cheatsheet
- 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
- We Work Remotely
- Go / Golang Jobs & developers
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
- Cemetery Escape is a game that you can play in your terminal.
- A CLI tool for importing and utilizing exported social media data from popular services on Hugo websites.
- 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
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/featured- https://www.youtube.com/@bmdavis419
- https://www.youtube.com/@ThomasLanghorst
- 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
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.