gods
router
gods | router | |
---|---|---|
9 | 3 | |
15,454 | 433 | |
- | 1.4% | |
2.8 | 6.3 | |
21 days ago | about 2 months ago | |
Go | Go | |
GNU General Public License v3.0 or later | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gods
-
How do you go about the lack of built in data structure like stack, queue for LeetCode
for len(stack) > 0 { n := len(stack) - 1 // Top element fmt.Print(stack[n]) stack = stack[:n] // Pop } ``` Another solution would be to import a package like https://github.com/emirpasic/gods
-
Go Structures - Custom made generic data structures for Golang
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.
- Golang & Data Structures
-
Hash Array Mapped Trie (HAMT) implemented in Go (1.18+ generics)
Doesn't say why it's here instead of trying to get into GoDS or something else.
-
Are there implementations of data structures with generics? Are they needed?
I've found GoDS (https://github.com/emirpasic/gods) but it is not using generics, it's using "interface{}" as a type for everything.
- Gods Go Data Structures
- Experimental generic implementations of various data structures (map, b-tree, AVL tree, rope, and more)
-
Have you used a trie in Go?
You may want to try this implementation
router
-
Piko router, a lightweight and blazing fast router for PHP
I found libraries in other programming languages that use this approach : matchit (Rust), find-my-way (Javascript), fasthttp (Go) But, curiously, no one in PHP. That's why I decided to bring my contribution to have the same approach in PHP.
-
Go and Trie!
You can dive deeper if you wish.
-
Have you used a trie in Go?
https://github.com/fasthttp/router for example
What are some alternatives?
go-datastructures - A collection of useful, performant, and threadsafe Go datastructures.
routing - Maps an HTTP request to a set of configuration variables
golang-set - A simple, battle-tested and generic set type for the Go language. Trusted by Docker, 1Password, Ethereum and Hashicorp.
matchit - A high performance, zero-copy URL router.
gomarkdoc - Generate markdown documentation for Go (golang) code
freerouting - Advanced PCB auto-router
gota - Gota: DataFrames and data wrangling in Go (Golang)
gowww/router - ⚡️ A lightning fast HTTP router
levenshtein - Go implementation to calculate Levenshtein Distance.
router - A lightweight and fast router for PHP
encoding - Integer Compression Libraries for Go
go-patricia - A generic patricia trie (also called radix tree) implemented in Go (Golang)