Golang
News
- Awesome Go - weekly email newsletter
Packages
- TinyGo - Go compiler for small places
- Zerolog - Zero Allocation JSON Logger
- Charm - Set of tools for terminal-based applications; key-value store, cloud based file storage, encryption, and auth - all made super easy.
- Script - Utilities for scripting with go
- georgysavva/scany - Library for scanning data from a database into Go structs and more.
- jetpack-io/typeid - Type-safe, K-sortable, globally unique identifier inspired by Stripe IDs.
Tools
- Go8 - Go + Postgres + Chi Router + sqlx, unit testing Starter Kit for API Development.
- xo - Command-line tool to generate Go code based on a database schema or a custom query.
- pprof++: A Go Profiler with Hardware Performance Monitoring
- rf - experimental refactoring tool
- Colima - Container runtimes on macOS (and Linux) with minimal setup
- lensm - Go assembly and source viewer
- Wazero - zero dependency WebAssembly runtime for golang
Resources
- Go Style Guide
- Go Code Review Comments
- Effective Go
- Go Testing By Example
- Darker Corners of Go - Rytis Biel
- Gotchas in the Go Network Packages Defaults
- Type Aliases vs Type Definitions in GO
- The ecosystem of the Go programming language
- Go Data Structures: Interfaces
- Profiling Go
- Practical Go: Real world advice for writing maintainable Go programs
- Go’s march to low-latency GC
- The Zen of Go
- Debugging Go with Delve
- Slice Tricks
- Don't use build tags for integration tests
- Go Modules Cheat Sheet
- How to do Enums in Go
- Thoughts on how to structure Go code
- structure the project based on context, i.e. there's no one structure fits all, everything depends on the context of your application
- Comprehensive Guide to Dates and Times in Go
- Go Package CI/CD with GitHub Actions
- Error handling in Go HTTP applications
- Wrapping Errors the Right Way
netaddr.IP
- Go is about to go a whole lot faster
- Get familiar with workspaces
- Golang: simple optimization notes
- Lies we tell ourselves to keep using Golang
- Functional Options are named args on steroids
- Package names
- Style guideline for Go packages
- Data Race Patterns in Go
- Go Proverbs
- Debugging WebAssembly from Go sources in Chrome DevTools
- Optimizing Your Programs with Continuous Profiling
- Vulnerability Management for Go
- Running Go application on Kubernetes
- The Busy Developer's Guide to Go Profiling, Tracing and Observability
- Why Go Getting Generics Will Not Change Idiomatic Go
- Unlocking the Power of Zero Knowledge Proofs with Gnark and Go
- Diving Deep Into The Golang Channels. #golang
- Go runtime: 4 years later #golang #runtime #scheduler
- Analysis of the Go runtime scheduler #golang #runtime #scheduler
- Profiling Go Programs
- Case Study: Algorithmic Trading With Go
- How to start a Go project in 2023
- Running the “Reflections on Trusting Trust” Compiler by Russ Cox on Reflections on Trusting Trust by Ken Thompson
- What We Got Right, What We Got Wrong
- Type Parameters Proposal - also answers the most common questions such as - why are generic methods not supported.