84 Resources
Golang go-generic Libraries
Library of generic data structures for Go.
gods Library of generic data structures for Go. priority queue sorted list priority queue unsorted list priority queue heap priority queue adaptable h
A simple generic in-memory caching layer
sc sc is a simple in-memory caching layer for golang. Usage Wrap your function with sc - it will automatically cache the values for specified amount o
A modern generic testing assertions library for Go
test test is a generics based testing assertions library for Go. There are two packages, test and must. test - assertions that mark the test for failu
Generic-based collection tools
go-collection go collection is a tool implemented using generic, it can help you process slice/map data quickly and easily convert between them. Note:
A generic Go library for implementations of tries (radix trees), state commitments and proofs of inclusion
trie.go Go library for implementations of tries (radix trees), state commitments and proof of inclusion for large data sets. It implements a generic 2
This library implements the pub/sub pattern in a generic way. It uses Go's generic types to declare the type of the event.
observer This library implements the pub/sub pattern in a generic way. It uses Go's generic types to declare the type of the event. Usage go get githu
🚀 GoDI: Generic based DI in Go
🚀 GoDI: Generic based DI in Go Installation DI: go get -u github.com/MaximZayats/godi/ import "github.com/MaximZayats/godi/di" CMD: go get -u github.
Generic sharded thread safe LRU cache in Go.
cache Cache is a thread safe, generic, and sharded in memory LRU cache object. This is achieved by partitioning values across many smaller LRU (least
Generic utility methods for Go slices / arrays / collections, heavily inspired by Lodash.
slicy import "github.com/sudhirj/slicy" Usage func All func All[S ~[]T, T any](slice S, predicate func(value T, index int, slice S) bool) bool All re
A Go package providing a generic data type to track maximum and minimum peak values.
go-peak Overview go-peak is a Go package providing a generic data type that tracks the maximum and minimum peak values within a specific period of tim
G-array is a GoLang library, that contains the generic function to do the array operations.
G-array Garray is a library written in Go (Golang). Which have a collection of functions to do the array operations. Installation To install G-array p
Nune-go - High-performance numerical engine based on generic tensors
Nune (v0.1) Numerical engine is a library for performing numerical computation i
Useful collection functions for golang, based on generic types
go-collection English | 简体中文 go-collection provides developers with a convenient set of functions for working with common slices, maps, and arrays dat
Generate a generic library of 2FA tokens compatible with Google Authenticator
towfa Generate a generic library of 2FA tokens compatible with Google Authenticator go get -u github.com/golandscape/twofa $twofa "you secret" result:
Generic-list-go - Go container/list but with generics
generic-list-go Go container/list but with generics. The code is based on contai
Nune - High-performance numerical engine based on generic tensors
Nune (v0.1) Numerical engine is a library for performing numerical computation i
Di - A (very) WIP Go 1.18+ generic dependency injection package based on type reflection
di A (very) WIP Go 1.18+ generic dependency injection package based on type refl
This repo is where I'll be attempting to capture some generic algorithms written in Go
Go Generic Algorithms Welcome friends! 👋 This repo is where I'll be attempting
Experiments using Go 1.18beta1's Generic typings and the Segmentio kafka-go consumer client
Experiments using Go 1.18beta1's Generic typings and the Segmentio kafka-go consumer client
Generic - Golang generic example
泛型 场景 假设需要写一个列表总数计算的函数,根据不同数据类型,我们可能分别要写 SumInts(data []int),SumFloats(data []fl
Marshallable - Make generic data types marshallable
Marshallable Make generic data types marshallable! Features Implement methods: S
Go-generic-unboxing - A quick ready to ship demo for go generic using the official example
Go generic This repo contain basic demo for installing and running go1.18beta1 v
Gcra - Package gcra implements the generic cell rate algorithm
gcra Package gcra implements the generic cell rate algorithm (GCRA). Example opt
Go-generic - A collection of experiments using Go Generics coming out in Go 1.18
Go Generic - experiments with Go 1.18 beta Data structures: iter.Iter[T any] - l
Ecsgo - Cache friendly, Multi threading Entity Component System in Go (with Generic)
ECSGo ECSGo is an Entity Component System(ECS) in Go. This is made with Generic
Generic types that are missing from Go, including sets, trees, sorted lists, etc.
go-typ Generic types that are missing from Go, including sets, trees, sorted lists, etc. All code is implemented with 0 dependencies and in pure Go co
generic sync.Pool
syncpool The mkm.pub/syncpool package provides a generic wrapper around the sync.Pool structure. This package is just a thin wrapper around the underl
A go module supply Java-Like generic stream programming (while do type check at runtime)
gostream A go module supplying Java-Like generic stream programming (while do type check at runtime) Using Get a Stream To get a Stream, using SliceSt
Go library for encoding native Go structures into generic map values.
wstructs origin: github.com/things-go/structs Go library for encoding native Go structures into generic map values. Installation Use go get. go ge
Package iter provides generic, lazy iterators, functions for producing them from primitive types, as well as functions and methods for transforming and consuming them.
iter Package iter provides generic, lazy iterators, functions for producing them from primitive types, as well as functions and methods for transformi
Generic inquiry tool to OPA server for CI process, such as GitHub Actions
opaq opaq is a generic inquiry tool to OPA server. A major purpose of this tool is for inquiry in GitHub Actions. Features Data formatting: OPA server
Colonies is a generic framework for implementing next-generation distributed applications and systems
Colonies is a generic framework for implementing next-generation distributed applications and systems. It can be used as a building block for grid computing or edge computing, e.g. implement a meta operating system or cloud-of-cloud platform that combines many execution environments into a new virtual computing environment that can be controlled using an single unified API.
Generic, high-level Git workflow support!
Git Town makes Git more efficient, especially for large teams. See this screencast for an introduction and this Softpedia article for an independent r
Go-linq - A powerful language integrated query (LINQ) library for Golang
go-linq A powerful language integrated query (LINQ) library for Go. Written in v
Slice - provides generic Map, Reduce and Filter functions for Go.
slice slice is a simple Go package to provide generic versions of Map, Reduce and Filter on slices. I mainly wrote it as an exercise to get more famil
Provider-generic-workflows - A generic provider which uses argo workflows to define the backend actions.
provider-generic-workflows provider-generic-workflows is a generic provider which uses argo workflows for managing the external resource. This will re
Generic Code for Go
goreuse A tool for reuse Go code, that bundles a whole package inside a single file. It allows to rename certain identifiers and keep the changed defi
Go 1.18 generic tuples
go-tuple: Generic tuples for Go 1.18. Go 1.18 tuple implementation. Use tuples to store 1 or more values without needing to write a custom struct. tup
Diffie Hellman Exchange - A Generic Transport Upgrader Implementation
Diffie Hellman Exchange A simple but fastidious attempt to write a diffie-hellman key exchange utility that could be used as transport upgraders in di
Package create provides a generic option pattern for creating new values of any type
create Package create provides a generic option pattern for creating new values
Generic Free List implementation to reuse memory and avoid allocations
gofl GOFL provides a Generic Free List implementation for Go. Installation This
Generic tools for go 1.18+
Gtools Generic tools for go 1.18+ FT (func tools) Provide func tools over iterators Iterators for functions like Filter, Map, Reduce, etc solve 3 main
A generic two-dimensional matrix slice type in Go.
Grid The grid module and package provide a generic implementation of a two-dimensional matrix slice type. The API is inspired both by the standard Go
Go package provides a generic interface to encoders and decoders
encoding Package provides a generic interface to encoders and decoders Example package main import ( "flag" "fmt" "log"
Simple and high-performance data structures and algorithms library
The Great Way is Simple Simple and high-performance data structures and algorithms library Benchmark goos: windows goarch: amd64 pkg: github.com/lxzan
generic wrap for standard lib of golang.
Generic Std generic wrap for standard lib of golang. Generic will be supported in go 1.18. But for now, standard lib will not support generic containe
Custom generic HTTP handler providing automatic JSON decoding/encoding of HTTP request/response to your concrete types
gap Custom generic HTTP handler providing automatic JSON decoding/encoding of HTTP request/response to your concrete types. gap.Wrap allows to use the
Some utility functions for generic types in Go.
GOUF - Utility Functions for generic types Go team released Go 1.18 beta recently with support for Generics(a.k.a type parameters). This package provi
gpool - a generic context-aware resizable goroutines pool to bound concurrency based on semaphore.
gpool - a generic context-aware resizable goroutines pool to bound concurrency. Installation $ go get github.com/sherifabdlnaby/gpool import "github.c
Go package provides a generic interface to encoders and decoders
encoding Package provides a generic interface to encoders and decoders Example package main import ( "flag" "fmt" "log"
A collection of generic data structures written in Go.
Generic Data Structures With the release of Go 1.18, it is possible to implement generic data structures in Go. This repository contains some data str
A slice backed binary heap with support for generic type parameters.
go-binaryheap A slice backed binary heap where the order can be customized by a comparison function. The main branch now requires go 1.18 because the
This package provides a generic way of deep copying Go objects
Package for copying Go values This package provides a generic way of deep copying Go objects. It is designed with performance in mind and is suitable
Generic batches for go
batch import "github.com/ninedraft/batch" Package batch contains a generic batch buffer, which accumulates multiple items into one slice and pass it i
Generic slices for Go 1.8+
Slice A simple package that makes working with slices a little bit easier with the help of generics. Install go get github.com/twharmon/slice Example
generic sort for slices in golang
slices generic sort for slices in golang basic API func BinarySearch[E constraints.Ordered](list []E, x E) int func IsSorted[E constraints.Ordered](li
Generic templating tool with support of JSON, YAML and TOML data
gotempl Small binary used to generate files from Go Templates and data files. The following formats are supported: JSON YAML TOML Usage usage: gotempl
An experimental generic functional utility library inspired by Lodash
go-godash An experimental generic functional utility library inspired by Lodash Implemented functions Map Reduce Sum Filter Take TakeWhile Drop DropWh
Generic mapStringInterface tool for extracting of data for CSV output
Generic mapStringInterface tool for extracting of data for CSV output
Generic impersonation and privilege escalation with Golang. Like GenericPotato both named pipes and HTTP are supported.
This is very similar to GenericPotato - I referenced it heavily while researching. Gotato starts a named pipe or web server and waits for input. Once
Go Extended Lib
⚠️ Note: This is still an experiment. Motivation My main motivation was to try out generics in Go. I jumped straight into the usual suspects: Filter a
Go datastructures for a generic world
Generic data structures for Go With the upcoming release of 1.18, it's now possible to build a library of generic data structures in Go. The purpose o
Orkestra Workflow Executor Template Repo
Orkestra Workflow Executor Template Repo This is a template repository for a new workflow executor Usage Generate your repository from this template b
conditiond is a generic constraint and policy evaluator.
conditiond conditiond is a generic constraint and policy evaluator. This tool lets you define constraints in data and evaluate them at run time. It's
.NET LINQ capabilities in Go
go-linq A powerful language integrated query (LINQ) library for Go. Written in vanilla Go, no dependencies! Complete lazy evaluation with iterator pat
Generic error handling with panic, recover, and defer.
Generic error handling with panic, recover, and defer.
Optimistic rollup tech, minimal and generic.
Opti Optimistic rollup tech, minimal and generic. VERY experimental, just exploratory code, question is: 1:1 EVM rollup with interactive fraud proof p
The first generic linked list in go :dancer:
linkedlist.go The first generic linked list in go 💃 gotip first of all you need to install the master version of golang. go install golang.org/dl/got
The k8s-generic-webhook is a library to simplify the implementation of webhooks for arbitrary customer resources (CR) in the operator-sdk or controller-runtime.
k8s-generic-webhook The k8s-generic-webhook is a library to simplify the implementation of webhooks for arbitrary customer resources (CR) in the opera
Generic Prometheus ⟷ MQTT Bridge
Promqtt: Prometheus ⟷ MQTT Bridge Promqtt makes Prometheus MQTT capable in a truly generic way. It has no assumptions on message payloads or topic lay
Some examples for the programming language Go.
Golang_Examples Bubblesort: simple implementation of bubble sort algorithm in Go Level: Beginner GenericStack: a stack (LIFO collection) that can hold
Go library for decoding generic map values into native Go structures and vice versa.
mapstructure mapstructure is a Go library for decoding generic map values to structures and vice versa, while providing helpful error handling. This l
rconn is a multiplatform program for creating generic reverse connections. Lets you consume services that are behind firewall or NAT without opening ports or port-forwarding.
rconn (r[everse] conn[ection]) is a multiplatform program for creating reverse connections. It lets you consume services that are behind NAT and/or fi
Package ethtool allows control of the Linux ethtool generic netlink interface.
ethtool Package ethtool allows control of the Linux ethtool generic netlink interface.
Golang gRPC Middlewares: interceptor chaining, auth, logging, retries and more.
Golang gRPC Middlewares: interceptor chaining, auth, logging, retries and more.
A better Generic Pool (sync.Pool)
This package is a thin wrapper over the Pool provided by the sync package. The Pool is an essential package to obtain maximum performance by reducing the number of memory allocations.
MongoDB generic REST server in Go
Mora - Mongo Rest API REST server for accessing MongoDB documents and meta data Documents When querying on collections those parameters are available:
flexible data type for Go
Generic flexible data type for Go support: Go 1.12+ Install standard go get: go get -u github.com/usk81/generic/v2 Usage encode/decode: package main
A generic fuzzing and delta-debugging framework
Tavor Tavor (Sindarin for woodpecker) is a framework for easily implementing and using fuzzing and delta-debugging. Its EBNF-like notation allows you
Go library for decoding generic map values into native Go structures and vice versa.
mapstructure mapstructure is a Go library for decoding generic map values to structures and vice versa, while providing helpful error handling. This l
a generic object pool for golang
Go Commons Pool The Go Commons Pool is a generic object pool for Golang, direct rewrite from Apache Commons Pool. Features Support custom PooledObject
A generic oplog/replication system for microservices
REST Operation Log OpLog is used as a real-time data synchronization layer between a producer and consumers. Basically, it's a generic database replic
gpool - a generic context-aware resizable goroutines pool to bound concurrency based on semaphore.
gpool - a generic context-aware resizable goroutines pool to bound concurrency. Installation $ go get github.com/sherifabdlnaby/gpool import "github.c
.NET LINQ capabilities in Go
go-linq A powerful language integrated query (LINQ) library for Go. Written in vanilla Go, no dependencies! Complete lazy evaluation with iterator pat