Go Data structures

Open-source Go projects categorized as Data structures

Top 23 Go Data structure Projects

  • gods

    GoDS (Go Data Structures) - Sets, Lists, Stacks, Maps, Trees, Queues, and much more

    Project mention: Go Structures - Custom made generic data structures for Golang | reddit.com/r/golang | 2023-01-05

    What is the goal of this project? A learning exercise? There are many fairly matured solutions already available like https://github.com/emirpasic/gods. It also does not look implemented effectively. For example Stack uses for its push/pop operations costly List methods.

  • Go

    Algorithms and Data Structures implemented in Go for beginners, following best practices. (by TheAlgorithms)

    Project mention: Looking for open source project for newbies in Golang | reddit.com/r/golang | 2022-12-10

    https://the-algorithms.com/language/go and code that goes with it: https://github.com/TheAlgorithms/Go. I was reviewing some algo theory a while back and ended up just creating a java project with my own implementation of heap, tree traversals and so on. It's a really simple way to try to get familiar with some core concepts of any language. Just food for thought. Also all the exercises are pretty self contained. Eventually you most likely want to go beyond this but it'll get your feet wet.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • go-datastructures

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

    Project mention: Golang & Data Structures | reddit.com/r/golang | 2022-08-31

    https://github.com/TheAlgorithms/Go https://github.com/Workiva/go-datastructures https://github.com/ua-nick/Data-Structures-and-Algorithms

  • dasel

    Select, put and delete data from JSON, TOML, YAML, XML and CSV files with a single tool. Supports conversion between formats and can be used as a Go package.

    Project mention: Why a world needs an UNIX-style image collection manager? | reddit.com/r/linux | 2023-03-19

    https://github.com/TomWright/dasel handles JSON, TOML, YAML, XML and CSV

  • rosedb

    🚀 A high performance NoSQL database based on bitcask, supports string, list, hash, set, and sorted set.

    Project mention: Redcon - Redis compatible server framework for Rust | reddit.com/r/rust | 2022-05-14
  • golang-set

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

    Project mention: Is there something similar to blessed.rs ? | reddit.com/r/golang | 2023-01-01

    If it were true, there wouldn't be any 3rd-party libs for Go and everybody used just the stdlib. For instance, if you need a set, you can use https://github.com/deckarep/golang-set . Of course, you can do it with the stdlib with map, but if you don't want to do that, use golang-set . I think Python has a much larger stdlib and yet, Python has tons of 3rd-party packages.

  • 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: Beginner ~ Intermediate Go programmer, how can I get better in go and get out of the "beginner" phase? | reddit.com/r/golang | 2023-03-09

    The best example I can give you is https://github.com/nutsdb/nutsdb it’s great project that got me started, one thing one should know is Go is different “yep” so there’re some coding habits that may bite you in Go and the Go compiler won’t correct you, you wanna learn about optimizations, unsafe usage check out https://github.com/valyala/fasthttp (note this is deep the rabbit hole), wanna learn concurrency check out ants https://github.com/panjf2000/ants with a little aid from “Go by example” you’re good to go

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • Data-Structures-and-Algorithms

    Data Structures and Algorithms implementation in Go (by ua-nick)

    Project mention: Golang & Data Structures | reddit.com/r/golang | 2022-08-31

    https://github.com/TheAlgorithms/Go https://github.com/Workiva/go-datastructures https://github.com/ua-nick/Data-Structures-and-Algorithms

  • gota

    Gota: DataFrames and data wrangling in Go (Golang)

    Project mention: Looking for some help on querying slice of map[string]any using group by fields and aggregate functions | reddit.com/r/golang | 2023-02-17

    Is the Gota project still maintained?

  • Atomix

    A Kubernetes toolkit for building distributed applications using cloud native principles

    Project mention: How to Achieve Geo-redundancy with Zeebe | dev.to | 2022-06-28

    To understand how we can achieve resilience in Zeebe, you first need to understand how Zeebe does replication. Zeebe uses distributed consensus — more specifically theRaft Consensus Algorithm — for replication.There is an awesomevisual explanation of the Raft Consensus Algorithm available online, so I will not go into all the details here. The basic idea is that there is a single leader and a set of followers. The most common setup is to have one leader and two followers, and you’ll see why soon.

  • fsm

    Finite State Machine for Go (by looplab)

  • roaring

    Roaring bitmaps in Go (golang)

    Project mention: I have some questions about defining a series of bits in Golang | reddit.com/r/golang | 2023-02-14

    For (3), and if you’re interested in checking if specific bits are set or not, take a look at https://github.com/bits-and-blooms/bitset and https://github.com/RoaringBitmap/roaring.

  • willf/bloom

    Go package implementing Bloom filters

    Project mention: willf/bloom VS bloom_cpp - a user suggested alternative | libhunt.com/r/bloom | 2023-03-17
  • gocache

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

    Project mention: Cacheme: Asyncio cache framework with multiple storages and thundering herd protection | reddit.com/r/Python | 2023-01-27

    I made Cacheme years ago, which support redis and synchronous API only. Then I switch to Go and found that there are some awesome cache projects in Go(ristretto, gocache...), I also made my own Cacheme go version: cacheme-go. After trying asyncio and type hint, I think it's time to rewrite my old Cacheme.

  • boomfilters

    Probabilistic data structures for processing continuous, unbounded streams.

  • ytt

    YAML templating tool that works on YAML structure instead of text

    Project mention: The YAML Document from Hell | news.ycombinator.com | 2023-01-12

    > Templating yaml is a terrible, terrible idea

    I've had a good time using ytt: https://carvel.dev/ytt/. It implements language-aware templating, which is IMO the only reasonable way to do it.

  • bitset

    Go package implementing bitsets

    Project mention: I have some questions about defining a series of bits in Golang | reddit.com/r/golang | 2023-02-14

    For (3), and if you’re interested in checking if specific bits are set or not, take a look at https://github.com/bits-and-blooms/bitset and https://github.com/RoaringBitmap/roaring.

  • generic

    A collection of generic data structures written in Go.

    Project mention: Go 1.20: memory arenas | dev.to | 2023-02-03

    You might also consider using other data structures instead of slices, for example, a linked list can be grown without an issue.

  • cuckoofilter

    Cuckoo Filter: Practically Better Than Bloom

    Project mention: Looking for fast, space-efficient key-lookup | reddit.com/r/golang | 2022-11-12

    - a cuckoo filter for fast lookup. This has around a 3% false positive rate. There are other implementations however that have a much lower rate. You can store the filter in the database as well in a different bucket so you don't have to rebuild the filter on startup.

  • hyperloglog

    HyperLogLog with lots of sugar (Sparse, LogLog-Beta bias correction and TailCut space reduction) brought to you by Axiom

    Project mention: What front end logger do you guys use? | reddit.com/r/reactjs | 2023-03-23

    Axiom - https://axiom.co/

  • lane

    Generic PriorityQueues, Queues, Stacks, and Deque data structures for Go

    Project mention: Lane v2 is out (with generics) - PriorityQueues, Queues, Stacks, and Deque data structures | reddit.com/r/golang | 2022-09-04
  • gostl

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

  • algorithms

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

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

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 2023-03-23.

Go Data structures related posts

Index

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

Project Stars
1 gods 13,527
2 Go 12,287
3 go-datastructures 6,788
4 dasel 4,126
5 rosedb 3,587
6 golang-set 3,175
7 nutsdb 2,798
8 Data-Structures-and-Algorithms 2,652
9 gota 2,610
10 Atomix 2,310
11 fsm 2,189
12 roaring 1,961
13 willf/bloom 1,850
14 gocache 1,732
15 boomfilters 1,519
16 ytt 1,333
17 bitset 1,070
18 generic 1,058
19 cuckoofilter 968
20 hyperloglog 837
21 lane 836
22 gostl 836
23 algorithms 705
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com