Go Library
4.09K subscribers
17 photos
63 files
715 links
Go (Golang) Library

Реклама: @ostinostin
Контент: @mxssl
加入频道
A Comprehensive Guide to Zap Logging in Go

https://betterstack.com/community/guides/logging/go/zap
How Much Memory Do You Need to Run 1 Million Concurrent Tasks?

https://pkolaczk.github.io/memory-consumption-of-async
go-datastructures

A collection of useful, performant, and threadsafe Go datastructures.

https://github.com/Workiva/go-datastructures
gain

Gain is a high-performance io_uring networking framework written entirely in Go.

https://github.com/pawelgaczynski/gain
lancet

Lancet is a comprehensive, efficient, and reusable util function library of go. Inspired by the java apache common package and lodash.js.

https://github.com/duke-git/lancet
dnscontrol

DNSControl is a system for maintaining DNS zones. It has two parts: a domain specific language (DSL) for describing DNS zones plus software that processes the DSL and pushes the resulting zones to DNS providers such as Route53, Cloudflare, and Gandi. It can send the same DNS records to multiple providers. It even generates the most beautiful BIND zone files ever. It runs anywhere Go runs (Linux, macOS, Windows). The provider model is extensible, so more providers can be added.

https://github.com/StackExchange/dnscontrol
openfga

A high-performance and flexible authorization/permission engine built for developers and inspired by Google Zanzibar.

https://github.com/openfga/openfga
Implementing a distributed key-value store on top of implementing Raft in Go

https://notes.eatonphil.com/2023-05-25-raft.html
grank.io helps you navigate in the golang world

Choosing the right dependencies is more of an art than a science. People usually apply different heuristics, like checking github star counts, commit frequency, issue counts, number of contributors, etc. After one of these discussion why i have chosen library A instead of B or C i came to an idea that is presented here.

Luckily most of the golang dependencies (libraries, frameworks) are open-source and located in one place, github.com. Golang's package import convention tells us how to actually find the source code of the dependencies, so we can check easily the dependency graph of go packages. If we wanna compare packages we could check which packages are used by more "important" packages/projects that sounds similar to idea od PageRank how importance of web pages can be computed. Even more we have additional useful information put together manually by the members of the community for example the star counts on a repo which could be used as weight in the computation.

grank.io is showing a rank list based on this weighted PageRank value of github repos and for each analysed repositories, packages it shows the packages that are dependent on it or it depends on. The source code is available on github.

https://www.grank.io
How to include Git version information in Go

TL;DR: Just import github.com/carlmjohnson/versioninfo and use versioninfo.Revision to automatically include a Git hash in your Go application.

Curious how it works? Want to make your own version info package? Read on.

https://blog.carlmjohnson.net/post/2023/golang-git-hash-how-to
requests

The problem: Go's net/http is powerful and versatile, but using it correctly for client requests can be extremely verbose.

The solution: The requests.Builder type is a convenient way to build, send, and handle HTTP requests. Builder has a fluent API with methods returning a pointer to the same struct, which allows for declaratively describing a request by method chaining.

Requests also comes with tools for building custom http transports, include a request recorder and replayer for testing.

https://github.com/carlmjohnson/requests
ls-lint

An extremely fast directory and filename linter - Bring some structure to your project filesystem

https://github.com/loeffel-io/ls-lint
ftp

FTP client package for Go

https://github.com/jlaffaye/ftp
grok

simple library to use/parse grok patterns with go (100%)

https://github.com/vjeantet/grok
goxygen

Generate a modern Web project with Go and Angular, React or Vue in seconds

https://github.com/Shpota/goxygen
email-verifier

A Go library for email verification without sending any emails.

https://github.com/AfterShip/email-verifier