Go Library
4.11K subscribers
20 photos
1 video
63 files
800 links
Go (Golang) Library

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

This is a native WebP encoder written entirely in Go, with no dependencies on libwebp or other external libraries. Designed for performance and efficiency, this encoder generates smaller files than the standard Go PNG encoder and is approximately 50% faster in execution.

Currently, the encoder supports only WebP lossless images (VP8L).


https://github.com/HugoSmits86/nativewebp
mcp-go

A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.


https://github.com/mark3labs/mcp-go
nerdlog

Nerdlog is a fast, remote-first, multi-host TUI log viewer with timeline histogram and no central server. Loosely inspired by Graylog/Kibana, but without the bloat. Pretty much no setup needed, either.


https://github.com/dimonomid/nerdlog
govisual

A lightweight, zero-configuration HTTP request visualizer and debugger for Go web applications during local development.


https://github.com/doganarif/govisual
f2

F2 is a cross-platform command-line tool for batch renaming files and directories quickly and safely. Written in Go!


https://github.com/ayoisaiah/f2
lnk

Git-native dotfiles management that doesn't suck.

Move your dotfiles to ~/.config/lnk, symlink them back, and use Git like normal. Supports both common configurations and host-specific setups.


https://github.com/yarlson/lnk
Gokapi

Gokapi is a simple, self-hosted file sharing server with automatic expiration and encryption support — ideal for teams or individuals who want privacy, control, and no clutter.


https://github.com/Forceu/Gokapi
tinyauth

Tinyauth is a simple authentication middleware that adds a simple login screen or OAuth with Google, Github and any provider to all of your docker apps. It supports all the popular proxies like Traefik, Nginx and Caddy.


https://github.com/steveiliop56/tinyauth
[ On | No ] syntactic support for error handling

https://go.dev/blog/error-syntax
Pure vs. impure iterators in Go

TL;DR

- Go has now standardised iterators.
- Iterators are powerful.
- Being functions under the hood, iterators can be closures.
- The classification of iterators suggested by the documentation is ambiguous.
- Dividing iterators into two categories, “pure” and “impure”, seems to me preferrable.
- Whether iterators should be designed as “pure” whenever possible is unclear.


https://jub0bs.com/posts/2025-05-29-pure-vs-impure-iterators-in-go/
A JavaScript Developer's Guide to Go

After spending five years as a JavaScript developer building both frontend and backend systems, I spent the last year transitioning to Go for server-side code. During that time I couldn't help but notice the differences between syntax, fundamentals, practices, and runtime environments between the languages and the effects they had on actual runtime performance and developer productivity.


https://prateeksurana.me/blog/guide-to-go-for-javascript-developers
Cool Golang slog.Logger tricks

For years in Go, I’ve used many different logging libraries, from logrus to zap. After the release of slog into Go standard library, I immediately embraced it. It’s clever design made it so versatile and easy to use, and has already accumulated an enormous amount of libraries in the ecosystem.


https://djwong.net/2025/05/28/cool-go-slog-tricks.html
Cross-compiling C and Go via cgo with Bazel

Go offers an exceptional language and an impressive ecosystem of tools. However, it presents a notable challenge when integrating with C code via cgo. While building and distributing pure Go binaries across various platforms is straightforward — often requiring just a few parameter adjustments — the process becomes considerably more complex when C dependencies are introduced.


https://popovicu.com/posts/cross-compile-cgo-bazel/
go-binsize-treemap

Go binary size SVG treemap


https://github.com/nikolaydubina/go-binsize-treemap
Why Go is a good fit for agents

https://docs.hatchet.run/blog/go-agents
The Ingredients of a Productive Monorepo

https://blog.swgillespie.me/posts/monorepo-ingredients
Announcing GoReleaser v2.10

- New Homebrew Casks support - Replaces the old brews section which was incorrectly using Homebrew Formulas for pre-built binaries. The new homebrew_casks section does it properly.
- Easy migration - Most users just need to rename brews to homebrew_casks in their config
- Experimental MCP server - Adds Model Context Protocol support for AI tools like Claude Desktop (just run goreleaser mcp)

https://carlosbecker.com/posts/goreleaser-v2.10
Go should be more opinionated

TL;DR:

The author argues that Go should provide more opinionated guidance on application structure and project layout. While Go excels at having "one way to do things" for language features (formatting, loops, etc.), it lacks official guidance for organizing larger projects.

Key points:
- Go's simplicity makes it easy to learn, but structuring real-world projects becomes challenging
- Teams spend significant time researching and deciding on project structure
- Official templates for common patterns (CLIs, APIs, microservices) would help
- Similar to how go mod solved dependency management fragmentation
- Would especially benefit teams migrating from opinionated frameworks like Spring Boot or Laravel

Bottom line: Go needs official project scaffolding tools (like go new) to extend its opinionated philosophy beyond language syntax to application architecture.

https://eltonminetto.dev/en/post/2025-06-19-go-more-opinated