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

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

wazero is a WebAssembly Core Specification 1.0 and 2.0 compliant runtime written in Go. It has zero dependencies, and doesn't rely on CGO. This means you can run applications in other languages and still keep cross compilation.

https://github.com/tetratelabs/wazero
gocryptfs

Encrypted overlay filesystem written in Go

https://github.com/rfjakob/gocryptfs
Go Developer Survey 2023 Q1 Results

Key findings

- Novice Go developers are interested in web development. We introduced a new segmentation this year based on self-identified experience levels. Novices expressed some interesting differences from other experience levels. Most notably they showed greater interest in using Go for web development.
- Error handling and learning are respondents’ top challenges. Historically, lack of generics was the biggest challenge to using Go, but since the introduction of generics, we’ve seen comments about generics decline. Comments about error handling (with respect to readability and verbosity) and difficulty learning best practices are now the most commonly reported challenges.
- An optimization guide was the most valued way to improve Go’s performance. When asked how they would spend resources on various improvements to Go’s compile and runtime, respondents spent the most on an optimization guide rather than specific performance improvements, demonstrating how much documentation is valued in this area.
- Managing dependencies and versioning are the top challenges for open source Go module maintainers. Open source module maintainers face challenges in keeping their dependencies up to date and avoiding disruptions due to versioning and breaking changes. This is an area we’ll explore further to help maintainers provide a stable and healthy ecosystem.

https://go.dev/blog/survey2023-q1-results
Go arm64 Function Call Assembly

An in-depth analysis of the assembly code emitted by the Go compiler for function calls on arm64.

https://blog.felixge.de/go-arm64-function-call-assembly
mimetype

A fast Golang library for media type and file extension detection, based on magic numbers

https://github.com/gabriel-vasile/mimetype
milvus

A cloud-native vector database, storage for next generation AI applications

https://github.com/milvus-io/milvus
counterfeiter

When writing unit-tests for an object, it is often useful to have fake implementations of the object's collaborators. In go, such fake implementations cannot be generated automatically at runtime, and writing them by hand can be quite arduous.

counterfeiter allows you to simply generate test doubles for a given interface.

https://github.com/maxbrunsfeld/counterfeiter
spago

A Machine Learning library written in pure Go designed to support relevant neural architectures in Natural Language Processing.

Spago is self-contained, in that it uses its own lightweight computational graph both for training and inference, easy to understand from start to finish.

https://github.com/nlpodyssey/spago
sftpgo

Fully featured and highly configurable SFTP server with optional HTTP/S, FTP/S and WebDAV support. Several storage backends are supported: local filesystem, encrypted local filesystem, S3 (compatible) Object Storage, Google Cloud Storage, Azure Blob Storage, SFTP.

https://github.com/drakkan/sftpgo
dig

A reflection based dependency injection toolkit for Go.

https://github.com/uber-go/dig
go-callvis

go-callvis is a development tool to help visualize call graph of a Go program using interactive view.

https://github.com/ofabry/go-callvis
TIL: Go Response Body MUST be closed, even if you don’t read it

https://manishrjain.com/must-close-golang-http-response
vale

Vale is a command-line tool that brings code-like linting to prose. It's fast, cross-platform (Windows, macOS, and Linux), and highly customizable.

https://github.com/errata-ai/vale
etree

The etree package is a lightweight, pure go package that expresses XML in the form of an element tree. Its design was inspired by the Python ElementTree module.

https://github.com/beevik/etree
memphis

Memphis enables building modern queue-based applications that require large volumes of streamed and enriched data, modern protocols, zero ops, up to x9 faster development, up to x46 fewer costs, and significantly lower dev time for data-oriented developers and data engineers.

https://github.com/memphisdev/memphis
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