Skip to content

elbert-chan/awesome-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 

Repository files navigation

Awesome-go

Command Line

Standard CLI

Libraries for building standard or basic Command Line applications.

  • cobra - A Commander for modern Go CLI interactions.
  • pflag - Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.

Configuration

Libraries for configuration parsing.

  • viper - Go configuration with fangs.

Database Drivers

Relational Database Drivers

NoSQL Database Drivers

  • mongo-go-driver - Official MongoDB driver for the Go language.
  • qmgo - The Go driver for MongoDB. It‘s based on official mongo-go-driver but easier to use like Mgo.

Search and Analytic Databases

Date & Time

Libraries for working with dates and times.

  • carbon - A simple, semantic and developer-friendly golang package for time.

Distributed Systems

Packages that help with building Distributed Systems.

  • go-kit - A standard library for microservices.
  • go-zero - A cloud-native Go microservices framework with cli tool for productivity.
  • kratos - Your ultimate Go microservices framework for the cloud-native era.
  • kratos-mono-repo - kratos mono repo.
  • temporal - Durable execution system for making code fault-tolerant and simple. Go SDK.
  • redsync - Distributed mutual exclusion lock using Redis for Go.
  • snowflake - A simple to use Go (golang) package to generate or parse Twitter snowflake IDs.
  • dtm - A distributed transaction framework, supports workflow, saga, tcc, xa, 2-phase message, outbox patterns, supports many languages.

Goroutines

Tools for managing and working with Goroutines.

  • ants - Ants is a high-performance and low-cost goroutine pool in Go.
  • conc - Better structured concurrency for go.

HTTP Clients

Libraries for making HTTP requests.

  • resty - Simple HTTP and REST client library for Go.

Web Framworks

  • gin - Gin is a HTTP web framework written in Go.
  • kratos - Your ultimate Go microservices framework for the cloud-native era.

Scrapers

  • colly - Elegant Scraper and Crawler Framework for Golang.

Testing

fake

  • gofakeit - Random fake data generator written in go.

framework

  • ginkgo - A Modern Testing Framework for Go.
  • gomega - Ginkgo's Preferred Matcher Library.
  • biloba - Stable, performant, automated browser testing for Ginkgo.

Job Scheduler

Libraries for scheduling jobs.

  • cron - A cron library for go.
  • temporal - Temporal service.

ORM

Libraries that implement Object-Relational Mapping or datamapping techniques.

  • gorm - The fantastic ORM library for Golang, aims to be developer friendly.
  • ent - An entity framework for Go.

Messaging

Libraries that implement messaging systems.

  • gorilla/websocket - A fast, well-tested and widely used WebSocket implementation for Go.
  • gobwas/ws - Tiny WebSocket library for Go.
  • melody - Minimalist websocket framework for Go.
  • segmentio/kafka-go - Kafka library in Go.
  • go-queue - Kafka, Beanstalkd Pub/Sub framework.
  • nats - Golang client for NATS, the cloud native messaging system.
  • nats-server - High-Performance server for NATS.io, the cloud and edge native messaging system.

Logging

  • slog - Go 1.21 brings structured logging to the standard library.
  • zap Blazing fast, structured, leveled logging in Go.

Financial

Packages for accounting and finance.

  • decimal - Arbitrary-precision fixed-point decimal numbers in go.

OAUTH2

  • oauth2 - Go OAuth2 client.
  • oauth2 - OAuth 2.0 server library for the Go programming language.

Style Guides

Referance

About

my awesome go libs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published