Golang - gusenov/kb GitHub Wiki
- golang/example Go example projects
- Hands-On Software Architecture with Golang. Design and architect highly scalable and robust applications using Go by Jyotiswarup Raiturkar
- NETWORK PROGRAMMING WITH GO. Code Secure and Reliable Network Services from Scratch by Adam Woodbeck
- Event-Driven Architecture in Golang. Building complex systems with asynchronicity and eventual consistency by Michael Stack - 384 pages (event-driven microservices)
- Shipping Go. Develop, deliver, discuss, design, and go again by Joel Holmes - 248 pages
- Learning Go with Simulations: Leveraging Promela and Automata Graphs!
- Uses This / Russ Cox
- Go is my hammer, and everything is a nail by Markus Wüstenberg
- JetBrains / Guide / Go
- REST Servers in Go by Eli Bendersky
- freeCodeCamp.org
- How Statically and Dynamically Linked Go Binaries Work by Alex Pliutau
- One of Go's biggest strengths is its powerful compiler.
- Learn the Basics of Go by Building a Full Stack Web App with React and Go how to set up the project, build APIs, handle server-side logic
- How to Write Benchmark Tests for Your Golang Functions If you want to test the performance of your Go code, you can write some benchmark tests. These analyze the speed and memory usage of various functions and code blocks.
- How to Fuzz Test Golang HTTP Services As a dev, you won't be able to imagine all possible inputs a program might get. You can test for edge cases but there'll always be things you didn't expect. This is where fuzz testing can help – and here, Alex shows you how to fuzz Go HTTP services.
- How Statically and Dynamically Linked Go Binaries Work by Alex Pliutau
Typing
Coding Conventions
- format package - go/format - Go Packages implements standard formatting of Go source.
Data Structures and Algorithms (DSA)
- Generic Data Structures and Algorithms in Go. An Applied Approach Using Concurrency, Genericity and Heuristics by Richard Wiener - 579 pages
Command-Line
- Powerful Command-Line Applications in Go. Build Fast and Maintainable Tools by Ricardo Gerardi - 508 pages
GitHub
- palantir/stacktrace Stack traces for Go errors
- uber-go/fx A dependency injection based application framework for Go.
- stretchr/testify A toolkit with common assertions and mocks that plays nicely with the standard library
- matryer/moq Interface mocking tool for go generate
- labstack/echo High performance, minimalist Go web framework
Test-Driven Development (TDD)
- JetBrains / The GoLand Blog / Comprehensive Guide to Testing in Go
- Nulab / Learn / Test driven development in Go
- Test-Driven Development in Go by Adelina Simion - 338 pages
- Medium / Testing in Go — Some tools you can use by Andrew Davis Escalona
- r/golang / Testing frameworks, which to use?
Testify
- stretchr/testify A toolkit with common assertions and mocks that plays nicely with the standard library
- JetBrains / GoLand Documentation / Using the Testify toolkit
- Хабр / Четыре простых лайфхака при написании тестов на Go + testify
Domain-Driven
- Domain-Driven Design with Golang by Matthew Boyle - 204 pages
- quii/learn-go-with-tests Learn Go with test-driven development
Functional
- Functional Programming in Go by Dylan Meeus - 248 pages
Full-Stack
- Full-Stack Web Development with Go. Build your web applications quickly using the Go programming language and Vue.js by Nanik Tolaram , Nick Glynn - 302 pages
- walks you through creating and developing a complete modern web service, from authn/authz, interop, server-side rendering, and databases, to modern frontend frameworks with Tailwind and Go-powered APIs
- how to structure the app and look at the relevant pieces, such as database and security, before integrating all the different parts together to build a complete web product
- fitness tracking application
Concurrency
- Anatomy of Channels in Go - Concurrency in Go by Uday Hiwarale
- Хабр / Анатомия каналов в Go
- Effective Concurrency in Go by Burak Serdar - 212 pages
- The Beauty of Concurrency in Go by Alexander Demin
Gorilla Mux
- gorilla/mux Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍
- LogRocket Blog / An intro to routing in Go with Gorilla Mux
SQL
- JetBrains / The GoLand Blog / Comparing database/sql, GORM, sqlx, and sqlc
- Habr / Как запускать SQL в Go с максимальным комфортом
sqlx
- jmoiron/sqlx general purpose extensions to golang's database/sql
- Illustrated Guide to SQLX
- Medium / Simplify Database Operations in Golang with SQLX by Kadir Doğuş Seçkin
- r/golang / Is sqlx still the top choice for auto mapping database query results to a struct?
- Medium / Как упростить работу с базами данных в Golang с SQLX (Андрей Шагин)
ORM
- Versus
- r/golang / Golang - To ORM or not to ORM?
- Quora / In Golang should I use an ORM or SQL to interact with the database?
- Golang, ORMs, and why I am still not using one.
- Medium / You don’t need orm in Go by Enver Bisevac
- Comparison
- LogRocket Blog / Comparing the 7 best ORM packages in Go
- Alibaba Cloud / Golang ORM Comparison
Bun
- uptrace/bun SQL-first Golang ORM
- DEV Community / Bun: SQL-first Golang ORM
- Medium / SQL In Go Using the Bun Module by 𝔘𝔯𝔟𝔞𝔫
- Хабр / Bun: дружественный к SQL Golang ORM
Debugging
- WAY29/icecream-go A Go port of Python's IceCream:🍦 Never use print() to debug again.
Profiling
Use cases, case studies
- go.dev
- r/golang / How Golang is used inside Google?
- r/golang / What problem did Go actually solve for Google
- Fast local compile times
- C++ projects had to use a cluster to speed up compile times
- Easier to write correct concurrent code
- Fast local compile times
Error Handling
Microservices
- Хабр
- Базовая архитектура сервиса на GO
- Шаблон Go-микросервиса для начинающих от .NET разработчика
HTTP services
- chi A lightweight, idiomatic and composable router for building Go HTTP services.
- Grafana Labs / How I write HTTP services in Go after 13 years by Mat Ryer
Critique
- Packt / Is Golang truly community driven and does it really matter? 24 May 2019
- Hacker News / Why people in Google hate Go? Nov 3, 2023
- ITNEXT.io / Go evolves in the wrong direction by Aliaksandr Valialkin (Jun 11, 2024)
- Хабр / Go развивается в неверном направлении
- Радио-Т 915 Подкаст / Go идет не в ту сторону
- Medium / Why Big Tech Is Quietly Abandoning Golang by Debugged Thoughts (Apr 22, 2025)
- Хабр / Почему Big Tech тихонько уходит от Go
- Простота Go не справляется со сложностью. Простота Go становится ограничением. Rust и Kotlin, предлагают более богатые абстракции.
- Хабр / Почему Big Tech тихонько уходит от Go