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. Learn more →
Top 23 Go Data structure Projects
-
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-10https://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.
-
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-19https://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.
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-09The 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.
-
https://github.com/TheAlgorithms/Go https://github.com/Workiva/go-datastructures https://github.com/ua-nick/Data-Structures-and-Algorithms
-
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?
-
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.
-
-
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.
-
Project mention: willf/bloom VS bloom_cpp - a user suggested alternative | libhunt.com/r/bloom | 2023-03-17
-
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.
-
-
> 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.
-
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.
-
You might also consider using other data structures instead of slices, for example, a linked list can be grown without an issue.
-
- 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
Axiom - https://axiom.co/
-
Project mention: Lane v2 is out (with generics) - PriorityQueues, Queues, Stacks, and Deque data structures | reddit.com/r/golang | 2022-09-04
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Go Data structures related posts
- What front end logger do you guys use?
-
willf/bloom VS bloom_cpp - a user suggested alternative
2 projects | 17 Mar 2023
- Datadog: why is it so popular?
- Looking for some help on querying slice of map[string]any using group by fields and aggregate functions
- I have some questions about defining a series of bits in Golang
- There are 87 bloom filter crates. Strategies for choosing one?
- Bitmasks - how and why to use?
-
A note from our sponsor - SonarQube
www.sonarqube.org | 31 Mar 2023
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 |