go-iterator VS go

Compare go-iterator vs go and see what are their differences.

go-iterator

Go 1.18 generics iterator experiment (by polyfloyd)

go

The Go programming language (by golang)
Our great sponsors
  • InfluxDB - Access the most powerful time series database as a service
  • SonarQube - Static code analysis for 29 languages.
  • SaaSHub - Software Alternatives and Reviews
go-iterator go
2 1696
4 109,550
- 1.4%
0.0 10.0
6 months ago 6 days ago
Go Go
- BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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

Posts with mentions or reviews of go-iterator. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-03-15.
  • 1.18 is released
    6 projects | reddit.com/r/golang | 15 Mar 2022
    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
    6 projects | reddit.com/r/golang | 10 Jan 2022
    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.

go

Posts with mentions or reviews of go. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-26.
  • Immutable references in Go?
    2 projects | reddit.com/r/golang | 26 Mar 2023
    https://github.com/golang/go/issues/32245 and more. But it looks this is not in the recent todo list of Go core team.
    2 projects | reddit.com/r/golang | 26 Mar 2023
  • GitHub - orijtech/structslop: structslop is a static analyzer for Go that recommends struct field rearrangements to provide for maximum space/allocation efficiency.
    4 projects | reddit.com/r/golang | 25 Mar 2023
    Official fieldalignment in short erases all comments, due to AST shortcomings when it comes to handling comments. Structslop uses DST (decorated AST) to workaround this problem and has somewhat slightly different algorithm of generated indexes to sort structs.
  • Planning Go 1.21 Cryptography Work
    2 projects | reddit.com/r/golang | 24 Mar 2023
    Hello Filippo, thanks for the update.In 1.20 planning you mentioned the proposal to expose a session identifier. Do you still plan to work on this feature?I have some sustainability issues with SFTPGo but I can try sponsoring something for this addition. However I'm pretty sure I won't be able to cover the full cost of development and maintenance so I understand if you have no interest in working on it. Thank you
  • betteralign - structs field alignment static analyzer for Go
    8 projects | reddit.com/r/golang | 22 Mar 2023
    For now, compiler doesn't do any layout optimizations/realignments, just struct padding.
    8 projects | reddit.com/r/golang | 22 Mar 2023
    In case you are wondering why DST and not AST, in general sense AST does not associate comments to nodes, but it holds fixed offsets. Original fieldalignment tool just erases all struct/field/floating comments due to this issue and while there is a CL with a possible fix, it's still a work in progress as of this time.
  • The Simplicity of Single-File Golang Deployments
    10 projects | news.ycombinator.com | 22 Mar 2023
    OP here,

    How are you doing caching without a mod time?

    https://github.com/golang/go/issues/44854

    Are you re-naming or hashing for cache clearing?

  • Generics stability
    2 projects | reddit.com/r/golang | 21 Mar 2023
    The wanted to fix a bug in current implementation where you can create instances of private types using type inference, but it breaks aliases, so until then it's a no go.
    2 projects | reddit.com/r/golang | 21 Mar 2023
    With extended backwards compatibility and extended forwards compatibility accepted it doesn't matter that much. If your go.mod says go 1.20 it will always be subject to 1.20 semantics and syntax, no matter which version you chose to compile (as long as it's not terribly far).
  • Java 20 / JDK 20: General Availability
    3 projects | news.ycombinator.com | 21 Mar 2023
    Yes.

    When you're in a "tight loop" (e.g. a matrix multiplication, which is basically 3 nested loops that only load data, do math, write data), Java's virtual threads just won't yield. So if you write your app in the "wrong" way, you lose concurrency.

    There's a lot of discussion about this from the Go side. The original issue was this one: runtime: tight loops should be preemptible https://github.com/golang/go/issues/10958

    > it's possible to write a tight loop (e.g., a numerical kernel or a spin on an atomic) with no calls or allocation that arbitrarily delays preemption. This can result in arbitrarily long pause times as the GC waits for all goroutines to stop.

    The proposed (and ultimately accepted solution) is described here: https://github.com/golang/go/issues/24543

    > has put significant effort into prototyping cooperative preemption points in loops, which is one way to solve this problem. However, even sophisticated approaches to this led to unacceptable slow-downs in tight loops (where slow-downs are generally least acceptable).

    > I propose that the Go implementation switch to non-cooperative preemption using stack and register maps at (essentially) every instruction. This would allow goroutines to be preempted without explicit

What are some alternatives?

When comparing go-iterator and go you can also consider the following projects:

v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io

TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.

zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

Angular - The modern web developer’s platform

golang-developer-roadmap - Roadmap to becoming a Go developer in 2020

RxGo - Reactive Extensions for the Go language.

crystal - The Crystal Programming Language

sqlc - Generate type-safe code from SQL

rust - Empowering everyone to build reliable and efficient software.

Gin - Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.

gin-vue-admin - 基于vite+vue3+gin搭建的开发基础平台(支持TS,JS混用),集成jwt鉴权,权限管理,动态路由,显隐可控组件,分页封装,多点登录拦截,资源权限,上传下载,代码生成器,表单生成器,chatGPT自动查表等开发必备功能。