3 ms·
what? I'm a Go newb, but isn't this what goroutines and channels get you?
by HumblyTossed 3y ago
what? I'm a Go newb, but isn't this what goroutines and channels get you?
- adrusi 3y agoThis is an interface that can be implemented in terms of goroutines and channels, but can also be implemented with a lower-overhead scheduler tweak. The article shows how it could be implemented using goroutines and channels, and then reports the result of that implementation versus an optimized version that avoids synchronization overhead and scheduler latency which is unnecessary with this pattern. Currently, you could use goroutines and channels to implement a nice way to provide general iteration support for user-defined data structures, but because of the overhead, people most often opt for clunkier solutions. This change would give us the best of both worlds.
- EspressoGPT 3y agoYou can build this yourself using goroutines and channels, but adding "native" first-class support for this generator pattern would be easier to use and come with less overhead.