Resources
Various links
- Slice tricks: https://github.com/golang/go/wiki/SliceTricks
- Rest of the Golang Github Wiki: https://github.com/golang/go/wiki#additional-go-programming-…
- Spec - very approachable: https://golang.org/ref/spec
- Standard library source code - clean code with lots of idioms to learn from: https://cs.opensource.google/go/go/+/refs/tags/go1.17.1:src/
- Uber Go Style Guide: https://github.com/uber-go/guide/blob/master/style.md
- Go Code Review Comments: https://github.com/golang/go/wiki/CodeReviewComments
- 100 Go Coding Mistakes
- Alex Edwards - Author of good go-related content.
- Effective Error Handling in Go
- go 101
Gin Related
- How to handle DB access in Gin: https://www.alexedwards.net/blog/organising-database-access
ORM & Database
- GORM - cool Go ORM similar to active record.
- github.com/guregu/dynamo - good lib for dynamo DB access from Go.
- qmgo - Mongo driver for Go
- mongodb official go driver
- bun - SQL-first golang orm, SQL-agnostic
- ent
Frameworks
- gin
- Fiber - Inspired by Express
- gql-gen - GraphQL server implementation that is pleasant to work with.
- bud - fullstack svelte + go
- copper
- Echo
- Kago - Generates an admin dashboard
- aegis - Serverless go deploy tool + framework
- fuego - Inspired by Nest
- codoworks boilerplate
- huma
Auth Libs
Other Tools
- Viper - Configuration loading
- rmq - Redis-backed message queue
- machinery - celery/sidekiq/bull-esque job queue
- liftbridge - kafka-lite message streams native to go
- graphql client lib
- pocketbase - crazy. something between auth0 and rails.
- wazero - run wasm modules in go.
- lingua - detect language with go
- pygolo - run python code with go, and vice versa.
- slog - go’s new (as of 2023) structured logging stdlib
- singleflight - dedupe things, like network requests happening in go routines
- failsafe.go - set of tools for robust go
- river - message queue based on go + postgres. created by former heroku architect.
- task - go-based alternative to Makefile
- BlueRPC - Go + Typescript type sharing
Last modified: