Go Data structures

Open-source Go projects categorized as Data structures

Top 23 Go Data structure Projects

  • GitHub repo gods

    GoDS (Go Data Structures). Containers (Sets, Lists, Stacks, Maps, Trees), Sets (HashSet, TreeSet, LinkedHashSet), Lists (ArrayList, SinglyLinkedList, DoublyLinkedList), Stacks (LinkedListStack, ArrayStack), Maps (HashMap, TreeMap, HashBidiMap, TreeBidiMap, LinkedHashMap), Trees (RedBlackTree, AVLTree, BTree, BinaryHeap), Comparators, Iterators, Enumerables, Sort, JSON

    Project mention: Have you used a trie in Go? | reddit.com/r/golang | 2021-02-18

    You may want to try this implementation

  • GitHub repo go-datastructures

    A collection of useful, performant, and threadsafe Go datastructures.

  • GitHub repo Go

    Algorithms Implemented in GoLang (by TheAlgorithms)

    Project mention: Gopher Gold #15 - Wed Oct 14 2020 | dev.to | 2020-10-14

    TheAlgorithms/Go (Go): Algorithms Implemented in GoLang

  • GitHub repo golang-set

    A simple set type for the Go language. Trusted by Docker, 1Password, Ethereum and Hashicorp.

  • GitHub repo nutsdb

    A simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set.

    Project mention: NutsDB v0.6.0 release,Add PrefixSearchScan() with regexp search ability and more | reddit.com/r/golang | 2021-03-21

    See https://github.com/xujiajun/nutsdb for detail.

  • GitHub repo gota

    Gota: DataFrames and data wrangling in Go (Golang)

    Project mention: Useful Go data engineering libraries | reddit.com/r/golang | 2021-04-26

    Maybe look at https://github.com/go-gota/gota for a start.

  • GitHub repo boomfilters

    Probabilistic data structures for processing continuous, unbounded streams.

  • GitHub repo roaring

    Roaring bitmaps in Go (golang)

    Project mention: Protocol buffers database, a Key-Value database on the wire | reddit.com/r/golang | 2021-03-17

    Roaring bitmaps + btrees are a rock solid indexing approach. Alternatively, bleve has a lot out of the box but that's introducing a new datastore, basically.

  • GitHub repo willf/bloom

    Go package implementing Bloom filters

  • GitHub repo rosedb

    🚀A fast, stable and embedded k-v database in pure Golang, supports string, list, hash, set, sorted set. 一个 Go 语言实现的快速、稳定、内嵌的 k-v 数据库。

  • GitHub repo dasel

    Query, update and convert data structures from the command line. Comparable to jq/yq but supports JSON, TOML, YAML, XML and CSV with zero runtime dependencies.

    Project mention: Dasel – one tool to rule them all | news.ycombinator.com | 2021-06-02
  • GitHub repo gocache

    ☔️ A complete Go cache library that brings you multiple ways of managing your caches

  • GitHub repo cuckoofilter

    Cuckoo Filter: Practically Better Than Bloom

  • GitHub repo hyperloglog

    HyperLogLog with lots of sugar (Sparse, LogLog-Beta bias correction and TailCut space reduction)

  • GitHub repo bitset

    Go package implementing bitsets

  • GitHub repo trie

    Data structure and relevant algorithms for extremely fast prefix/fuzzy string searching.

  • GitHub repo algorithms

    CLRS study. Codes are written with golang. (by shady831213)

  • GitHub repo graph

    Graph algorithms and data structures (by yourbasic)

  • GitHub repo go-geoindex

    Go native library for fast point tracking and K-Nearest queries

  • GitHub repo orderedmap

    🔃 An ordered map in Go with amortized O(1) for Set, Get, Delete and Len.

    Project mention: Go is a nice improvement over C and C++, and it doesn't make me feel dirty like Java does. | reddit.com/r/golang | 2021-06-09

    Ex https://github.com/elliotchance/orderedmap

  • GitHub repo gostl

    Data structure and algorithm library for go, designed to provide functions similar to C++ STL

  • GitHub repo merkletree

    A Merkle Tree implementation written in Go.

  • GitHub repo ttlcache

    An in-memory string-interface{} map with various expiration options for golang

    Project mention: Lazy cache with an interface as a key | reddit.com/r/golang | 2021-04-01

    My favourite form of caching is one that expires auto-magically https://github.com/ReneKroon/ttlcache

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-06-09.


What are some of the best open-source Data structure projects in Go? This list will help you:

Project Stars
1 gods 10,083
2 go-datastructures 6,070
3 Go 5,559
4 golang-set 1,958
5 nutsdb 1,656
6 gota 1,624
7 boomfilters 1,356
8 roaring 1,224
9 willf/bloom 1,201
10 rosedb 923
11 dasel 920
12 gocache 867
13 cuckoofilter 794
14 hyperloglog 742
15 bitset 694
16 trie 537
17 algorithms 527
18 graph 453
19 go-geoindex 328
20 orderedmap 300
21 gostl 283
22 merkletree 238
23 ttlcache 234
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives