Skip to content

A list of my favorite Go frameworks, libraries and tools

Notifications You must be signed in to change notification settings

evgenymarkov/favorite-golang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 

Repository files navigation

Favorite Golang

Packages

HTTP

  • chi - Router compatible with net/http
  • huma - Micro framework for HTTP APIs with OpenAPI schema

Cache

  • otter - High performance lockless cache

Logging

  • slog - Structured and leveled logging

Testing

  • testify - Toolkit for assertions and mocking
  • fstest - FS and File implementations designed for tests
  • httptest - Utilities for testing HTTP requests

Utilities

  • do - Dependency injection toolkit
  • lo - Lodash-style library (map, filter, contains, find...)
  • mo - Monads and popular FP abstractions (Option, Result...)
  • backoff - Exponential backoff algorithm

Databases

  • redis - Redis client
  • pgx - PostgreSQL driver
  • clickhouse-go - ClickHouse driver
  • ydb-go-sdk - YDB driver
  • goose - A database migration tool
  • hasql - Library for accessing multi-host SQL database installations

Background tasks

  • pond - Minimalistic goroutine worker pool
  • gocron - Job scheduling package which lets you run functions periodically

Tools

Linters

  • golangci-lint - Go linters runner that includes a lot of linters

Editors

  • Goland - IDE that contains everything you need for Go development
  • VSCode Go - Extension for VSCode that provides rich support for Go

Network

  • GoReplay - Network monitoring/recording/analysis/replaying tool

Debugging

  • Delve - Simple, full featured debugging tool

Development

  • gopls - Official Go language server
  • goimports - Tool that updates imports

Resources

Media

Tutorials

Useful notes

About

A list of my favorite Go frameworks, libraries and tools

Topics

Resources

Stars

Watchers

Forks