/go-generic-projects-list

List of Go 1.18+ projects that using generics or based on generics implementation.

MIT LicenseMIT

Go Projects with Generics

List of Go projects that using generics or based on generics implementation.

Contents

Tutorials

Data Structures

  • zyedidia/generic – A collection of generic data structures (queue, heap , stack, etc.).
  • HotPotatoC/sture – A collection of data structures (Stack, Queue , Linked List, etc.).
  • cznic/b – Implements a B+tree.
  • thejerf/cm - Nested maps, dual-keyed maps, Set structure.

Utilities

  • samber/lo – A Lodash-style Go library (map, filter, contains, find).
  • life4/genesis – Functional programming generics functions.
  • mikhailswift/go-collections – Utility functions for dealing with collections
  • devnw/stream – A set of generic functions for working concurrent design patterns.
  • GavinClarke0/lockless-generic-ring-buffer – An implementation of a single producer, multi reader lockless ring buffer utilizing generics.
  • bradenaw/juniper – A library of extensions to the Go standard library using generics, including containers, iterators, and streams.
  • Soft/iter – A generic iterator library similar to Rust's Iterator trait.
  • k-yomo/fixtory – A test fixture factory which initializes type-safe, DRY, flexible fixtures.
  • luraim/fun – Simple generic utility functions. Inspired by Kotlin and Rust collection functions.
  • kevwan/mapreduce – A in-process MapReduce library to help you optimizing service response time or concurrent task processing.
  • zhangyunhao116/pdqsort – Pattern-defeating quicksort. About 2x ~ 60x faster than the built-in sort package.
  • modfin/henry – Helper functions in dealing with slices, maps and channels.
  • Goldziher/go-utils – Simple and performant utilies using Go generics inspired by JavaScript and Python.
  • jonbodner/gcon – Simple library to add async/await to Go using generics and closures.
  • eddieowens/axon – A simple, lightweight, and lazy-loaded DI (really just a singleton management) library.

Other