slicy
slice
Our great sponsors
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.
slicy
-
When to Use Generics
My personal experience with generics was to port a parallel circular queue library (used to take interface{} and require a type cast at every use) add an experiment to build all the Lodash slice and collection functions in Go.
Happy to say that both worked really well. Took me less than an hour to understand the system enough for these purposes, and the implementation hides neatly in the library - the code that uses the library has absolutely no mention of anything generic. Having generics also helped switch to cleaner implementation inside as well, because I could now use maps as well without type casts.
Looks like a solid useful system - I could do everything I wanted, all the complexity stays in the library, and changes were pretty minimal and easy to understand. Would recommend.
https://github.com/sudhirj/cirque
https://github.com/sudhirj/slicy
- Generic slice/collection utility methods for Go
slice
We haven't tracked posts mentioning slice yet.
Tracking mentions began in Dec 2020.
What are some alternatives?
pie - 🍕 Enjoy a slice! A utility library for dealing with slices and maps that focuses on type safety and performance.
excelize - Go language library for reading and writing Microsoft Excel™ (XLAM / XLSM / XLSX / XLTM / XLTX) spreadsheets
Koazee - A StreamLike, Immutable, Lazy Loading and smart Golang Library to deal with slices.
goreleaser - Deliver Go binaries as fast and easily as possible
rzgrep - grep utility that searches through zip,jar,ear,tgz,bz2 in any form of nesting; it can also decompile class files
jump - Jump helps you navigate faster by learning your habits. ✌️
cirque - A circular queue that processes jobs in parallel but returns results in FIFO
linq-in-go - LINQ to Objects in Go by generic higher order functions
beaver - 💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.
git-time-metric - Simple, seamless, lightweight time tracking for Git
boilr - :zap: boilerplate template manager that generates files or directories from template repositories