go-enum VS goimports

Compare go-enum vs goimports and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
go-enum goimports
7 46
646 7,202
- 0.6%
6.8 9.9
25 days ago 7 days ago
Go Go
MIT License 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-enum

Posts with mentions or reviews of go-enum. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-18.
  • Ten Years of “Go: The Good, the Bad, and the Meh
    5 projects | news.ycombinator.com | 18 Jul 2023
    While not perfect, there are ways to generate enums automatically using go:generate, e.g. https://github.com/abice/go-enum
  • Go vs Rust
    2 projects | /r/golang | 6 Mar 2023
    I wouldn't write a macro to save a couple of lines, but I would definitely use (not even write, just use) a macro for something like generating enum [de]serialization for both JSON and BSON in one line. Go, even with generics, still has no way of abstracting extremely common patterns like enums without separate generator tools. Clearly someone thought the macro was useful here, but without a macro they had no choice but to write a separate tool.
  • Enums?
    1 project | /r/golang | 8 Feb 2023
    Ive found enums in Go are a pain point, especially across an organization because there are many valid ways to implement it. It's also fairly verbose to implement. The way Ive solved for it is code generation. This is a pretty good library that my team uses in production https://github.com/abice/go-enum
  • Why no enums?
    2 projects | /r/golang | 10 Nov 2022
    I've worked in a few different languages and Go doesn't seem all that unique in the way that it doesn't provide an ENUM primitive. However, I looked around a bit and found go-enum which seems pretty neat. Also, I have no problem writing a custom string or int/iota type. In some cases you want to be able to serialize/deserialize with them -- and in others you don't need that.
  • Does Go not have enums in the sense that I can use them as a type?
    4 projects | /r/golang | 12 Oct 2022
    Along that same line you can take it a step further and generate the iota block too with this tool https://github.com/abice/go-enum
  • How to do Enums in Go
    2 projects | /r/golang | 8 May 2021
    Looks like this does what you want: https://github.com/abice/go-enum

goimports

Posts with mentions or reviews of goimports. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-12.

What are some alternatives?

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

goderive - Derives and generates mundane golang functions that you do not want to maintain yourself

gofumpt - A stricter gofmt

gotype - Golang source code parsing, usage like reflect package

nvim-lspconfig - Quickstart configs for Nvim LSP

GoWrap - GoWrap is a command line tool for generating decorators for Go interfaces

goreturns - A gofmt/goimports-like tool for Go programmers that fills in Go return statements with zero values to match the func return types

go-xray - Helpers for making the use of reflection easier

GoLint - [mirror] This is a linter for Go source code. (deprecated)

generis - Versatile Go code generator.

staticcheck

typeregistry - create type dynamically in Golang

golines - A golang formatter that fixes long lines