Go Library
4.11K subscribers
20 photos
63 files
799 links
Go (Golang) Library

Реклама: @ostinostin
Контент: @mxssl
Download Telegram
prep

prep is a small Go tool that enables compile-time function evaluation. By using prep.Comptime, you can evaluate functions at build time, replacing them with their computed results. Just like comptime from Zig. Except it's not.


https://github.com/pijng/prep
1
Some Go web dev notes

I spent a lot of time in the past couple of weeks working on a website in Go that may or may not ever see the light of day, but I learned a couple of things along the way I wanted to write down.


https://jvns.ca/blog/2024/09/27/some-go-web-dev-notes
1
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://tip.golang.org/doc/gc-guide
1
Joining errors in Go

I recently realized that the stdlib errors package in Go supports joining multiple errors in addition to the more common %w wrapping.


https://tpaschalis.me/golang-multierr
1
1
1
Using a separate Go module for your tools.go

https://www.jvt.iss.one/posts/2024/09/30/go-tools-module
1
Interfaces in Go

Interfaces are one of the most powerful features in Go, but they can be confusing at first given their implicit nature.


https://www.bytesizego.com/blog/golang-interfaces
1
modview

Transform your Go project's dependency graph into a dynamic, interactive visualization with modview. This powerful tool takes the complexity out of your module graph, offering a clear and explorable view of your project's dependencies.


https://github.com/bayraktugrul/modview
1
gqlgen

gqlgen is a Go library for building GraphQL servers without any fuss.


https://github.com/99designs/gqlgen
1
gowitness

gowitness is a website screenshot utility written in Golang, that uses Chrome Headless to generate screenshots of web interfaces using the command line, with a handy report viewer to process results. Both Linux and macOS is supported, with Windows support mostly working.


https://github.com/sensepost/gowitness
1
dae

dae, means goose, is a high-performance transparent proxy solution.

To enhance traffic split performance as much as possible, dae employs the transparent proxy and traffic split suite within the Linux kernel using eBPF. As a result, dae can enable direct traffic to bypass the proxy application's forwarding, facilitating genuine direct traffic passage. Through this remarkable feat, there is minimal performance loss and negligible additional resource consumption for direct traffic.

As a successor of v2rayA, dae abandoned v2ray-core to meet the needs of users more freely.


https://github.com/daeuniverse/dae
1
git-town

Git Town provides additional Git commands that automate the creation, synchronization, shipping, and cleanup of Git branches. Compatible with all popular Git workflows like Git Flow, GitHub Flow, GitLab Flow, and trunk-based development. Supports mono-repos and stacked changes.


https://github.com/git-town/git-town
1
bed

Binary editor written in Go


https://github.com/itchyny/bed
1
Glad I did it in Go

Go, the greatest teaching language?


https://registerspill.thorstenball.com/p/glad-i-did-it-in-go
1
Go sync.Map: The Right Tool for the Right Job

https://victoriametrics.com/blog/go-sync-map/index.html
1
High-Resolution Timers on Windows

The Go Windows port added support for high-resolution timers in Go 1.23, boosting resolution from ~15.6ms to ~0.5ms. This enhancement affects time.Timer, time.Ticker, and functions that put the goroutine to sleep, such as time.Sleep.


https://devblogs.microsoft.com/go/high-resolution-timers-windows
1
excelize

Excelize is a library written in pure Go providing a set of functions that allow you to write to and read from XLAM / XLSM / XLSX / XLTM / XLTX files. Supports reading and writing spreadsheet documents generated by Microsoft Excel 2007 and later. Supports complex components by high compatibility, and provided streaming API for generating or reading data from a worksheet with huge amounts of data.


https://github.com/xuri/excelize
1
Using Go Embed

The go:embed feature simplifies the inclusion of static assets in your Go applications. By embedding files and directories at compile time, you can create more portable and self-contained binaries.


https://www.bytesizego.com/blog/go-embed
1