goneric
new
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.
goneric
-
(Rust) Tokio, FuturesUnordered, and the Thundering Herd Problem
Only thing missing from making it look and work as traditional async is lack of pre-processor to make it "look nice". Generics do make it a bit better, for example from my lib you can introduce some concurrency quite easily, for example
-
Conc: Better Structured Concurrency for Go
I do like idea of waitgroup on steroids, I might steal it for my generic library.
* [1] https://github.com/XANi/goneric/blob/master/worker.go#L92
-
Have yet to use generics...Am I missing out?
Shameless plug: here is a list of some useful stuff you can do with it, with code attached.
-
I've created a Go Generics cheatsheet to give you a quick reminder of how to use this feature
If someone wants some more examples I've made a lib with a bunch of common constructs. Fun ones include "run function in parallel on a slice and put it in output slice in order" or "return which elements are different between slices", with version allowing to easily get difference between 2 different types using conversion function
- Spawn multiple go routines, get the results back, in order of goroutine spawn...
new
-
Have yet to use generics...Am I missing out?
Yeah, I have a joke package that does this: https://github.com/carlmjohnson/new
- Share Your Code.. Share your most unique piece of Go code.
- Fun with generics 3: Pointer of value with generics
- Generic fun: new.Of - A helper function to create a pointer to a new object in Go 1.18+
- More fun with Go generics: A new.Of() helper function
What are some alternatives?
dskDitto - Super fast duplicate file finder written in Golang.
pointer - Go package pointer provides helpers to get pointers to values of built-in types.
conc - Better structured concurrency for go
spidy - Domain names collector - Crawl websites and collect domain names along with their availability status.
go-future - A futures concurrency library in go
blockscan - a mini blockchain scanner
go-recovery - Golang recover from panics
dgo - Efficient, error-free and high-level library for Dart <-> Go interops.
ants - πππ ants is a high-performance and low-cost goroutine pool in Go./ ants ζ―δΈδΈͺι«ζ§θ½δΈδ½ζθη goroutine ζ± γ
pcre - Pure-Go port of the PCRE2 regular expression engine.
advent-of-code-2022 - Advent of Code 2022
stringdedup - String deduplication package for Go