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

Реклама: @ostinostin
Контент: @mxssl
加入频道
d2

D2 is a modern diagram scripting language that turns text to diagrams.

https://github.com/terrastruct/d2
Effective Error Handling in Golang

In this article, I’ll demonstrate the basics of handling errors in Go, as well as some simple strategies you can follow in your code to ensure your program is robust and easy to debug.

https://earthly.dev/blog/golang-errors
Tutorial: Getting started with generics

This tutorial introduces the basics of generics in Go. With generics, you can declare and use functions or types that are written to work with any of a set of types provided by calling code.

https://go.dev/doc/tutorial/generics
Crimes with Go Generics

This post is full of ways that you should not use Go generics in production.

https://xeiaso.net/blog/gonads-2022-04-24
Get familiar with workspaces

Workspaces in Go 1.18 let you work on multiple modules simultaneously without having to edit go.mod files for each module. Each module within a workspace is treated as a main module when resolving dependencies.

https://go.dev/blog/get-familiar-with-workspaces
A Guide to the Go Garbage Collector

This guide is intended to aid advanced Go users in better understanding their application costs by providing insights into the Go garbage collector. It also provides guidance on how Go users may use these insights to improve their applications' resource utilization. It does not assume any knowledge of garbage collection, but does assume familiarity with the Go programming language.

https://go.dev/doc/gc-guide
Why We Write Everything in Go

At Bitly, we’ve been all in on Go as our preferred back-end language since about 2015. 

https://bitly.com/blog/why-we-write-everything-in-go
nsq

NSQ is a realtime distributed messaging platform designed to operate at scale, handling billions of messages per day.

https://github.com/nsqio/nsq
conc

Better structured concurrency for go

https://github.com/sourcegraph/conc
The Go libraries that never failed us: 22 libraries you need to know

We only wanted to include libraries we used on real production systems. Thanks to that, we recommend just libraries that we are 100% sure about.

https://threedots.tech/post/list-of-recommended-libraries
watermill

Building event-driven applications the easy way in Go.

https://github.com/ThreeDotsLabs/watermill
Designing Go Libraries: The Talk: The Article

This is a long-form version of a talk I gave in 2018 providing guidance on designing libraries in Go.

https://abhinavg.net/2022/12/06/designing-go-libraries
The exasperated engineers guide to IPs in Golang

https://djosephsen.github.io//posts/ipnet
Go 1.20 Experiment: Memory Arenas vs Traditional Memory Management

https://pyroscope.io/blog/go-1-20-memory-arenas
tbls

tbls is a CI-Friendly tool for document a database, written in Go.

https://github.com/k1LoW/tbls
rpcx

rpcx is a RPC framework like Alibaba Dubbo and Weibo Motan.

rpcx is created for targets:

1. Simple: easy to learn, easy to develop, easy to intergate and easy to deploy
2. Performance: high perforamnce (>= grpc-go)
3. Cross-platform: support raw slice of bytes, JSON, Protobuf and MessagePack. Theoretically it can be used with java, php, python, c/c++, node.js, c# and other platforms
4. Service discovery and service governance: support zookeeper, etcd and consul.

https://github.com/smallnest/rpcx
conc

Better structured concurrency for go

https://github.com/sourcegraph/conc
Testing Generated HTML with goquery

https://universalglue.dev/posts/testing-with-goquery