Hacker News new | ask | show | jobs
by cy_hauser 1036 days ago
>> "there's only one way to do it"

What's the one way to do iterators now? I thought this proposal came about because there wasn't a default way and everybody had to roll their own.

1 comments

you can just return channel. range works over channels. Close channel once you're done with iterator. Technically there is side effect of that (iterator done like that would always produce extra value before exiting) but you could probably work around it without much boilerplate
Channels introduce a ton of overhead (https://syslog.ravelin.com/so-just-how-fast-are-channels-any...), plus concurrency issues, and termination concerns (they are essentially a resource leak). It's nice that you can iterate channels, but they're a terrible iteration protocol.