84 Resources
Golang go-generics Libraries
Go package simplifies nullable fields handling using Go Generics.
Go Nullable with Generics Go package simplifies nullable fields handling with Go Generics. Package gonull provides a generic Nullable type for handlin
🥬 validate. simply.
🥬 validate. simply. no reflection. no gencode. hierarchical and extendable. fast. ~100LOC. generics. This is convenient when you have custom validati
A zero-dependency cache library for storing data in memory with generics.
Memory Cache A zero-dependency cache library for storing data in memory with generics. Requirements Golang 1.18+ Installation go get -u github.com/rod
Golang ergonomic declarative generics module inspired by Rust, including Result, Option, and more.
gust Golang ergonomic declarative generics module inspired by Rust. Go Version go≥1.18 Features Result Avoid if err != nil, handle result with chain m
An experiment which attempts to create streams similar to what is available in Java now that we have generics in Go.
go-streams An experiment which attempts to create streams similar to what is available in Java now that we have generics. Should I use this library? N
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
🍕 Enjoy a slice! A utility library for dealing with slices and maps that focuses on type safety and performance.
🍕 github.com/elliotchance/pie Enjoy a slice! pie is a library of utility functions for common operations on slices and maps. Quick Start FAQ What are
Type-safe, DRY, flexible test fixture factory based on Go 1.18+ Generics
Fixtory is a test fixture factory which initializes type-safe, DRY, flexible fixtures with the power of Generics. By using Fixtory... No more redundan
Juniper is an extension to the Go standard library using generics, including containers, iterators, and streams.
Juniper Juniper is a library of extensions to the Go standard library using generics, including containers, iterators, and streams. container/tree con
Higher Order Functions using Golang Generics (Hack Days 2022)
hoff: Higher Order Functions (and Friends) Golang 1.18+ implementations of common methods/data structures using Go Generics Requirements Go 1.18 or ne
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:
Somewhat idiomatic and easy-to-glance-at Go pipelines
A simple and somewhat idiomatic way of constructing easy-to-glance-at pipes for sequential processes. Inspired by Elixir's pipe operator. Refer to my
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
Golang 1.18+ Generics implementation of Set methods
Golang Generics: Set A golang 1.18+ implementation of Set using Go generics Installation $ go get -u github.com/chrispappas/golang-generics-set Quick
🚀 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.
Go-generics option module inspired by rust.
option Go-generics option module inspired by rust. Avoid nil value, handle value with Option type, will you choose her? Note: Migrated to gust. Go Ver
Type-safe assertion helpers for Go
attest attest is a small package of type-safe assertion helpers. Under the hood, it uses cmp for equality testing and diffing. You may enjoy attest if
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
Batch processing library for Go supports generics & values returning
Aggregator Aggregator is a batch processing library for Go supports returning values. You can group up and process batch of tasks with keys in a singl
Generic-list-go - Go container/list but with generics
generic-list-go Go container/list but with generics. The code is based on contai
This is just a repository to play around with Generics and Fuzzing, two big things coming with go 1.18!
This is just a repository to play around with Generics and Fuzzing, two big things coming with go 1.18!
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
A clean, safe, user-friendly implementation of GraphQL's Dataloader, written with generics in go
go-dataloader A clean, safe, user-friendly implementation of GraphQL's Dataloader, written with generics in go (go1.18beta1). Features written in gene
Helper functions for common scenarios, using Go generics.
zeroflucs generics When writing Go code for Go 1.17 or below, we've all written more than our fair share of methods to check "does this slice contain
A (very) simple graph package that utilizes the Generics features in Go 1.18
A (very) simple graph package that utilizes the Generics features in Go 1.18
Golang implementation of JSON-RPC 2.0 server with generics
JSON-RPC 2.0 Golang implementation of JSON-RPC 2.0 server with generics. Go 1.18+ required Features: Batch request and responses WebSockets Usage Crea
Goety - Generics based Go utilities
goety General purpose Go utilities. Package channel Utilities to work with chann
Use is a go utility library using go1.18 generics
use use is a go utility library using go1.18 generics created by halpdesk 2022-01-22 use/slice Map updates a slice by applying a function to all membe
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
Optional type using Go 1.18 generics.
go.eth-p.dev/goptional Generic Optional (or Go Optional, if you prefer) goptional is a package that provides an implementation of an Optional[T] monad
A go1.18+ package to (maybe) simplify performing operations on slices in a fluent-like style.
sop ✨ W.I.P. ✨ sop (slices operation) is a go1.18+ package to (maybe) simplify performing operations on slices in a fluent-like style with common oper
Netkit - A type parameter(generics) net kit, support tcp kcp, customize packet
Netkit Netkit is a type parameter(generics) golang package Get Started Need Go i
Lru - A simple LRU cache using go generics
LRU Cache A simple LRU cache using go generics. Examples Basic usage. func main(
A hands-on approach for getting started with Go generics.
Go Generics the Hard Way This repository is a hands-on approach for getting started with Go generics: Prerequisites: how to install the prerequisites
Go-generics-simple-doubly-linked-list - A simple doubly linked list implemented using generics (Golang)
Welcome to Go-Generics-Simple-Doubly-Linked-List! Hi, This repository contains a
F - Experimenting with Go 1.18 generics to write more functional Go code
f f is a simple library that leverages the new generics in Golang to create a tools for functional style of code. Pipe like '|' in Elixir or Elm. inp
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
Genetic algorithms using Golang Generics
Package genetic Package genetic implements genetic algorithms using Golang's Gen
Go 1.18 generics based slice and sorts.
genfuncs import "github.com/nwillc/genfuncs" Package genfuncs implements various functions utilizing Go's Generics to help avoid writing boilerplate c
Collections for Golang using generics. Currently containing Hash Set.
Implementation of missing colections for Golang using Generics. Free of dependencies. Curently in early development phase. Requirements Go 1.18+ Insta
Genetic algorithm for machine learning in Go.
μ8 Genetic algorithm for machine learning. Inspired by CodeBullets amazing video on the subject. This is a work in progress Steps Natural selection. M
An experimental package that rely on go generics to implement collection functions utilities
go-underscore go-underscore is a utility-belt library for Golang that provides s
CDN-like in-memory cache with shielding, and Go 1.18 Generics
cache CDN-like, middleware memory cache for Go applications with integrated shielding and Go 1.18 Generics. Usage package main import ( "context" "
Generic Free List implementation to reuse memory and avoid allocations
gofl GOFL provides a Generic Free List implementation for Go. Installation This
Multi producer and multi-reader lockless ring buffer in go using generics from the go 1.18beta release
LocklessGenericRingBuffer This is an implementation of a multi producer, multi r
Advent of Code 2021 solutions using Go 1.18 Generics
advent-of-code-2021 Here are my solutions for Advent of Code 2021. This year, I chose to write my solutions using Go 1.18 with generics (by building t
Utility library that uses Go generics mechanism
golang-generics-util Utility library that explores Go generics (1.18) xsync Sync
A go1.18 wrapper to provide simple generics based API for defining command line flags.
gflag A go1.18 wrapper to provide simple generics based API for defining command line flags. Example package main import ( "flag" "fmt" "time" "
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
Benchmarks to compare Go Generics
This is a collection of various sorts implemnted both as []int only and as const
A collection of functional operators for golang with generics
fn fn is a collection of go functional operators with generics Getting Started P
Experimenting with golang generics to implement functional favorites like filter, map, && reduce.
funcy Experimenting with golang generics to implement functional favorites like filter, map, && reduce. 2021-12 To run the tests, you need to install
Functional tools in Go 1.18 using newly introduced generics
functools functools is a simple Go library that brings you your favourite functi
x/sync/singleflight but with Go 1.18 generics
singleflight This repo is a hard fork of golang.org/x/sync/singleflight that adds generics to the Group type so that there is no need for type asserti
Goava: a toy project to explore Go generics
Goava This is a toy project to explore Go generics. Totally WIP. The idea is to create an in memory cache similar to Java's popular Guava cache. Gener
Collection library using generics in Go
Collection Collection library using generics in Go Overview This is a library to provide useful collection data structures and methods for Gophers. Th
N-tuple structures for Go with generics
tuple N-tuple structures for Go with generics Types 2-tuple Couple Pair Dyad 3-tuple Triple Triplet Triad 4-tuple Quadruple Quartet Quad Tetrad 5-tupl
Go 1.18 generics use cases and examples
Go 1.18 generics use cases What are generics? See Type Parameters Proposal. How to run the examples? As of today, gotip is the simplest way to run the
experimental promises in go1.18 with generics
async go a prototype of "promises" in go1.18. note: this is just an experiment used to test alternate patterns for dealing with asynchronous code in g
A library that provides Go Generics friendly "optional" features.
go-optional A library that provides Go Generics friendly "optional" features. Synopsis some := optional.Some[int](123) fmt.Printf("%v\n", some.IsSome(
An in-memory key:value store/cache library written in Go 1.18 generics
go-generics-cache go-generics-cache is an in-memory key:value store/cache that is suitable for applications running on a single machine. This in-memor
Package pbpgx provides a toolkit for easier Protocol Buffers interaction with PostgreSQL databases.
PBPGX Package pbpgx provides a toolkit for easier Protocol Buffers interaction with PostgreSQL databases. Pbpgx supports the Protocol Buffer types gen
Extended library functions using generics in Go.
Just few extended standard library functions for Golang using generics.
Go Library for Competitive Programming with Generics
Go Library for Competitive Programming with Generics Go used to be a difficult language to use for competitive programming. However, with the introduc
Go 1.18 Generics based slice package
The missing slice package A Go-generics (Go 1.18) based functional library with no side-effects that adds the following functions to a slice package:
Package truthy provides truthy condition testing with Go generics
Package truthy provides truthy condition testing with Go generics
Package truthy provides truthy condition testing with Go generics
Truthy Truthy is a package which uses generics (Go 1.18+) to create useful boolean tests and helper functions. Examples // truthy.Value returns the tr
Code for the Go pipeline blog post
Concurrent and Parallel Pipelines in Go This repository contains the code that goes along with a blog post about concurrent and parallel pipelines in
It's a typed HTTP server in Go, using generics that is expected to come out with 1.18
typed-http-server-in-go This is a prototype of a typed HTTP server in Go via generics. Generics are scheduled to come out with Go 1.18, and you can pl
Collection of unusual generics usecases in Go
Unusual Generics Type parameters or Generics in Go designed to reduce boilerplate for container data types like lists, graphs, etc. and functions like
a unified representation of buffered, unbuffered, and unbounded channels in Go
chann a unified representation of buffered, unbuffered, and unbounded channels in Go import "golang.design/x/chann" This package requires Go 1.18. Us
An implementation of standard generics APIs in Go.
generics This package shows an implementation outlook of proposed generics APIs import "changkun.de/x/generics" Related issues: golang/go#45458 golang
Interactive Go interpreter and debugger with REPL, Eval, generics and Lisp-like macros
gomacro - interactive Go interpreter and debugger with generics and macros gomacro is an almost complete Go interpreter, implemented in pure Go. It of
Example code for Go generics
go-generics-example Example code for Go generics. Usage $ go build -gcflags=-G=3 Requirements Go 1.17 or later Advertise Go 言語にやってくる Generics は我々に何をも
Aboriginal Generics: the future is here!
Aboriginal Generics: the future is here! Inspired by this gem of an idea (click the image to go to the original comment): Installation go get github.c
Go的泛型文档、代码、讨论
Go:为何带来泛型 中文版 English version 介绍 [这是在Gophercon 2019上发表的演讲版本。视频链接可供使用。] 这篇文章是关于向Go添加泛型的意义,以及为什么我认为我们应该这样做。我还将介绍为Go添加泛型的设计可能的改变。
A typed implementation of the Go sync.Map using code generation
syncmap A typed implementation of the Go sync.Map using code generation. Install go get -u github.com/a8m/syncmap@master Examples: Using CLI $ syncma
Experiments with Go generics
generics Quick experiments with Go generics algebra, a generic square root function for float, complex and and rational. future, a concurrent cache ("
go language generics system
Gotgo This document describes the third iteration of my attempt at a reasonable implementation of generics for go based on the idea of template packag
Elegant generics for Go
genny - Generics for Go Install: go get github.com/cheekybits/genny ===== (pron. Jenny) by Mat Ryer (@matryer) and Tyler Bunnell (@TylerJBunnell). Un
Code Generation for Functional Programming, Concurrency and Generics in Golang
goderive goderive derives mundane golang functions that you do not want to maintain and keeps them up to date. It does this by parsing your go code fo
Versatile Go code generator.
Generis Versatile Go code generator. Description Generis is a lightweight code preprocessor adding the following features to the Go language : Generic
Type-driven code generation for Go
What’s this? gen is a code-generation tool for Go. It’s intended to offer generics-like functionality on your types. Out of the box, it offers offers
go language generics system
Gotgo This document describes the third iteration of my attempt at a reasonable implementation of generics for go based on the idea of template packag