go-iterator
lo
Our great sponsors
go-iterator | lo | |
---|---|---|
2 | 45 | |
4 | 10,609 | |
- | - | |
0.0 | 8.8 | |
6 months ago | 8 days ago | |
Go | Go | |
- | MIT 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.
go-iterator
-
1.18 is released
I already played around a bit wit the beta a while back and made an iterator library to get to know this new language. It's here for anyone interested: https://github.com/polyfloyd/go-iterator
-
iter: Generic, lazy iterators for Go 1.18
Regarding call chaining, it is still possible to chain things with operations that return different types, but they have to be done with functions instead of methods, so the result is still the same, just it's a little less readable. There is a generic iterator implementation by polyfloyd that doesn't support method chaining, but imo being able to chain iterators is one of their biggest strengths, since implementing lazy evaluation manually for a single operation isn't that difficult, its when you need to perform multiple kinds of manipulations that it gets messy.
lo
-
Slice methods in golang
There is, in fact a Lodash-like package for Go: https://github.com/samber/lo
What's really maps and filters? All I see is loops hidden in JavaScript runtime with different names but yes, it doesn't hurt to write few readable Go code for every project, when I started Go I used something like Samber/lo this is a worthy competitor you can install in every project and make use of itπ, another thing is: you have pure go code (no type definitions) so you can easily jump right into the code to see how it's done and learn
-
Remove duplicates from a slice
This library is useful even in testing https://github.com/samber/lo
- What was your greatest struggle when learning Go?
-
What the state of functional programming ecosystem ?
If you are curious, try looking at github.com/samber/lo and github.com/samber/mo packages if you get a chance.
-
Do you use generics?
mostly this https://github.com/samber/lo
-
x/exp/maps approved to be added to stdlib in Go 1.21
Any different then what is provided by https://github.com/samber/lo?
-
Standard library data structures?
otherwise this library has some success for some operations: https://github.com/samber/lo - it's a bit of tooling around searching/filtering and such, you'll need to dig a bit more if you need vecdeque, heaptree and such.
-
Compiiile, the most convenient way to render a folder containing markdown files
case in point, lo
-
Have yet to use generics...Am I missing out?
I rarely implement generic struct or method my own. But i use https://github.com/samber/lo quite a lot for slice/map manipulation.
What are some alternatives?
underscore - π Useful functional programming helpers for Go 1.18 and beyond
mo - π¦ Monads and popular FP abstractions, powered by Go 1.18+ Generics (Option, Result, Either...)
fp-go - Fp-go is a collection of Functional Programming helpers powered by Golang 1.18+ generics.
go-generic-optional - Implementation of Optionals in Go using Generics
fpGo - Monad, Functional Programming features for Golang
fuego - Functional Experiment in Golang
gofp - A super simple Lodash like utility library with essential functions that empowers the development in Go
pie - π Enjoy a slice! A utility library for dealing with slices and maps that focuses on type safety and performance.
goterators - A utility library that supports aggregate & transforms functions Go with generic. Such as filter, map, reduce, find, exist
functional-go - This library is inspired by functional programming - Clojure
valor - Go option and result types that optionally contain a value
go-godash - An experimental generic functional utility library inspired by Lodash