Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-go
A curated list of awesome Go frameworks, libraries and software + implementation of algorithms and utility programs in Go
https://github.com/pacifiquem/awesome-go
Last synced: about 22 hours ago
JSON representation
-
Websites
-
Reddit
- Golang Resources - A curation of the best articles, exercises, talks and videos to learn Go.
- Learn Go Programming - Learn Go concepts with illustrations.
- Learn Go Programming - Learn Go concepts with illustrations.
- Learn Go Programming - Learn Go concepts with illustrations.
- Code with Mukesh - Software Engineer and Blogs @ codewithmukesh.com.
- Learn Go Programming - Learn Go concepts with illustrations.
- gowalker.org - Go Project API documentation.
- Awesome Remote Job - Curated list of awesome remote jobs. A lot of them are looking for Go hackers.
- awesome-awesomeness - List of other amazingly awesome lists.
- Go Community on Hashnode - Community of Gophers on Hashnode.
- Go Projects - List of projects on the Go community wiki.
- Go Proverbs - Go Proverbs by Rob Pike.
- go.dev - A hub for Go developers.
- Golang Weekly - Each monday projects, tutorials and articles about Go.
- Gophercises - Free coding exercises for budding gophers.
- Learn Go Programming - Learn Go concepts with illustrations.
- Made with Golang
- r/Golang - News about Go.
- Trending Go repositories on GitHub today - Good place to find new Go libraries.
- TutorialEdge - Golang
- Learn Go Programming - Learn Go concepts with illustrations.
- Learn Go Programming - Learn Go concepts with illustrations.
- Learn Go Programming - Learn Go concepts with illustrations.
- Learn Go Programming - Learn Go concepts with illustrations.
- Learn Go Programming - Learn Go concepts with illustrations.
- Learn Go Programming - Learn Go concepts with illustrations.
-
Tutorials
- 50 Shades of Go - Traps, Gotchas, and Common Mistakes for New Golang Devs.
- A Comprehensive Guide to Structured Logging in Go - Delve deep into the world of structured logging in Go with a specific focus on recently accepted slog proposal which aims to bring high performance structured logging with levels to the standard library.
- A Guide to Golang E-Commerce - Building a Golang site for e-commerce (demo included).
- Building and Testing a REST API in Go with Gorilla Mux and PostgreSQL - We’ll write an API with the help of the powerful Gorilla Mux.
- Building Go Web Applications and Microservices Using Gin - Get familiar with Gin and find out how it can help you reduce boilerplate code and build a request handling pipeline.
- Caching Slow Database Queries - How to cache slow database queries.
- Canceling MySQL - How to cancel MySQL queries.
- CodeCrafters Golang Track - Achieve mastery in advanced Go by building your own Redis, Docker, Git, and SQLite. Featuring goroutines, systems programming, file I/O, and more.
- Go By Example - Hands-on introduction to Go using annotated example programs.
- Go database/sql tutorial - Introduction to database/sql.
- Go Language Tutorial - Learn Go language Tutorial.
- Go Tutorial - Learn Go programming.
- Go WebAssembly Tutorial - Building a Simple Calculator
- Golangbot - Tutorials to get started with programming in Go.
- GopherCoding - Collection of code snippets and tutorials to help tackle every day issues.
- GopherSnippets - Code snippets with tests and testable examples for the Go programming language.
- Gosamples - Collection of code snippets that let you solve everyday code problems.
- Hackr.io - Learn Go from the best online golang tutorials submitted & voted by the golang programming community.
- How to Benchmark: dbq vs sqlx vs GORM - Learn how to benchmark in Go. As a case-study, we will benchmark dbq, sqlx and GORM.
- How To Deploy a Go Web Application with Docker - Learn how to use Docker for Go development and how to build production Docker images.
- How to Use Godog for Behavior-driven Development in Go - Get started with Godog — a Behavior-driven development framework for building and testing Go applications.
- Learning Go by examples - Series of articles in order to learn Golang language by concrete applications as example.
- Programming with Google Go - Coursera Specialization to learn about Go from scratch.
- Saving a Third of Our Memory by Re-ordering Go Struct Fields - How inefficient field ordering in Go structs.
- Scaling Go Applications - Everything about building, deploying and scaling Go applications in production.
-
Guided Learning
- The Go Developer Roadmap - A visual roadmap that new Go developers can follow through to help them learn Go.
- The Go Learning Path - A guided learning path containing a mix of free and premium resources.
-
-
Artificial Intelligence
- langchaingo - LangChainGo is a framework for developing applications powered by language models.
- LocalAI - Open Source OpenAI alternative, self-host AI models.
- Ollama - Run large language models locally.
-
Audio and Music
- flac - Native Go FLAC encoder/decoder with support for FLAC streams.
- gaad - Native Go AAC bitstream parser.
- GoAudio - Native Go Audio Processing Library.
- gosamplerate - libsamplerate bindings for go.
- malgo - Mini audio library.
- minimp3 - Lightweight MP3 decoder library.
- PortAudio - Go bindings for the PortAudio audio I/O library.
- id3v2 - ID3 decoding and encoding library for Go.
- Oto - A low-level library to play sound on multiple platforms.
-
Authentication and OAuth
- authboss - Modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure it, and start building your app without having to build an authentication system each time.
- branca - branca token [specification implementation](https://github.com/tuupola/branca-spec) for Golang 1.15+.
- cookiestxt - provides a parser of cookies.txt file format.
- go-guardian - Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication that supports LDAP, Basic, Bearer token, and Certificate based authentication.
- go-jose - Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.
- gologin - chainable handlers for login with OAuth1 and OAuth2 authentication providers.
- gorbac - provides a lightweight role-based access control (RBAC) implementation in Golang.
- casbin - Authorization library that supports access control models like ACL, RBAC, and ABAC.
-
Command Line
-
Advanced Console UIs
- gommon/color - Style terminal text.
-
Standard CLI
- hiboot cli - cli application framework with auto configuration and dependency injection.
-
-
Configuration
-
Standard CLI
- gone/jconf - Modular JSON configuration. Keep you config structs along with the code they configure and delegate parsing to submodules without sacrificing full config serialization.
-
-
Database
-
Database Tools
- hasql - Library for accessing multi-host SQL database installations.
-
-
Distributed Systems
-
Search and Analytic Databases
- dynamolock - DynamoDB-backed distributed locking implementation.
- pglock - PostgreSQL-backed distributed locking implementation.
- resgate - Realtime API Gateway for building REST, real time, and RPC APIs, where all clients are synchronized seamlessly.
-
-
File Handling
-
Search and Analytic Databases
- stl - Modules to read and write STL (stereolithography) files. Concurrent algorithm for reading.
-
-
Goroutines
-
Search and Analytic Databases
- oversight - Oversight is a complete implementation of the Erlang supervision trees.
-
-
IoT (Internet of Things)
-
Search and Analytic Databases
- periph - Peripherals I/O to interface with low-level board facilities.
-
-
JSON
-
Search and Analytic Databases
- JSON-to-Proto - Convert JSON to Protobuf online.
-
-
Logging
-
Search and Analytic Databases
- gone/log - Fast, extendable, full-featured, std-lib source compatible log library.
-
-
Miscellaneous
-
Strings
- bexp - Go implementation of Brace Expansion mechanism to generate arbitrary strings.
-
Uncategorized
- go-openapi - Collection of packages to parse and utilize open-api schemas.
- VarHandler - Generate boilerplate http input and output handling.
-
-
Security
-
HTTP Clients
- themis - high-level cryptographic library for solving typical data security tasks (secure data storage, secure messaging, zero-knowledge proof authentication), available for 14 languages, best fit for multi-platform apps.
-
-
Server Applications
-
Testing
-
HTTP Clients
- gocheck - More advanced testing framework alternative to gotest.
-
-
Text Processing
-
Formatters
- bytes - Formats and parses numeric byte values (10K, 2M, 3G, etc.).
-
-
Code Analysis
-
Routers
- goreturns - Adds zero-value return statements to match the func return types.
- staticcheck - staticcheck is `go vet` on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#.
-
-
Editor Plugins
-
Routers
- Go plugin for JetBrains IDEs - Go plugin for JetBrains IDEs.
- goprofiling - This extension adds benchmark profiling support for the Go language to VS Code.
-
-
Go Tools
-
Routers
- gotemplate.io - Online tool to preview `text/template` templates live.
-
-
Software Packages
-
DevOps Tools
-
Other Software
-
-
Conferences
-
Other Software
- GoCon - Tokyo, Japan.
- GoDays - Berlin, Germany.
- GoLab - Florence, Italy.
- GopherChina - Shanghai, China.
- GopherCon - Denver, USA.
- GopherCon Australia - Sydney, Australia.
- GopherCon Europe - Berlin, Germany.
- GopherCon India - Pune, India.
- GopherCon Israel - Tel Aviv, Israel.
- GopherCon UK - London, UK.
- GopherCon Vietnam - Ho Chi Minh City, Vietnam.
- GoWest Conference - Lehi, USA.
-
-
E-Books
-
E-books for purchase
- Black Hat Go - Go programming for hackers and pentesters.
- Continuous Delivery in Go - This practical guide to continuous delivery shows you how to rapidly establish an automated pipeline that will improve your testing, code quality, and final product.
- Creative DIY Microcontroller Project With TinyGo and WebAssembly - An introduction into the TinyGo compiler with projects involving Arduino and WebAssembly.
- For the Love of Go - An introductory book for Go beginners.
- Go Faster - This book seeks to shorten your learning curve and help you become a proficient Go programmer, faster.
- Know Go: Generics - A guide to understanding and using generics in Go.
- The Power of Go: Tests - A guide to testing in Go.
- The Power of Go: Tools - A guide to writing command-line tools in Go.
-
Free e-books
- A Go Developer's Notebook
- Build Web Application with Golang
- Building Web Apps With Go
- Go with the domain - A book showing how to apply DDD, Clean Architecture, and CQRS by practical refactoring.
- GoBooks - A curated list of Go books.
- How To Code in Go eBook - A 600 page introduction to Go aimed at first time developers.
- Network Programming With Go
- Practical Go Lessons
- The Go Programming Language
-
-
Meetups
-
Free e-books
- Basel Go Meetup
- Belfast Gophers
- Belgrade Golang Meetup
- Berlin Golang
- Brisbane Gophers
- Bärner Go Meetup - Berne, Switzerland
- Canberra Gophers
- Go Language NYC
- Go London User Group
- Go Remote Meetup
- Go Toronto
- Go User Group Atlanta
- GoBandung
- GoBridge, San Francisco, CA
- GoCracow - Krakow, Poland
- GoJakarta
- Golang Amsterdam
- Golang Argentina
- Golang Athens
- Golang Baltimore, MD
- Golang Bangalore
- Golang Belo Horizonte - Brazil
- Golang Boston
- Golang Bulgaria
- Golang Cardiff, UK
- Golang Copenhagen
- Golang Curitiba - Brazil
- Golang DC, Arlington, VA
- Golang Dorset, UK
- Golang Estonia
- Golang Gurgaon, India
- Golang Hamburg - Germany
- Golang Israel
- Golang Kathmandu
- Golang Korea
- Golang Lima - Peru
- Golang Lyon
- Golang Marseille
- Golang Melbourne
- Golang North East
- Golang Paris
- Golang Poland
- Golang Pune
- Golang Rotterdam
- Golang Singapore
- Golang Stockholm
- Golang Sydney, AU
- Golang São Paulo - Brazil
- Golang Taipei
- Golang Thessaloniki
- Golang Turkey
- Golang Vancouver, BC
- Golang Vienna, Austria
- Golang Москва
- Istanbul Golang
- Seattle Go Programmers
- Ukrainian Golang User Groups
- Utah Go User Group
- Women Who Go - San Francisco, CA
- Zürich Gophers - Zurich, Switzerland
-
-
Style Guides
-
Free e-books
-
-
Social Media
-
Twitter
-
Reddit
-
-
UUID
-
Utility/Miscellaneous
- uniq - No hassle safe, fast unique identifiers with commands.
-
Categories
Meetups
60
Websites
53
E-Books
17
Conferences
12
Style Guides
9
Audio and Music
9
Authentication and OAuth
8
Social Media
7
Software Packages
6
Miscellaneous
3
Artificial Intelligence
3
Distributed Systems
3
Code Analysis
2
Command Line
2
Server Applications
2
Editor Plugins
2
File Handling
1
Configuration
1
Testing
1
UUID
1
Go Tools
1
IoT (Internet of Things)
1
Logging
1
Security
1
Database
1
Text Processing
1
JSON
1
Goroutines
1
Sub Categories
Keywords
golang
10
go
5
audio
3
authentication
2
tokens
2
awesome
2
awesome-list
2
ai
2
list
2
api
1
audio-library
1
audio-processing
1
libsamplerate
1
alsa
1
directsound
1
opensl-es
1
opensles
1
oss
1
wasapi
1
decoder
1
mp3
1
branca
1
jwt
1
langchain
1
2fa
1
auth
1
distributed
1
gemma
1
audio-generation
1
gpt4all
1
image-generation
1
kubernetes
1
llama
1
llama3
1
llm
1
mamba
1
mistral
1
musicgen
1
p2p
1
rerank
1
rwkv
1
stable-diffusion
1
text-generation
1
tts
1
java
1
javascript
1
objective-c
1
owasp
1
php
1
python
1