go-enum
go-formatter
go-enum | go-formatter | |
---|---|---|
7 | 108 | |
662 | 121,895 | |
- | - | |
6.8 | 9.1 | |
about 2 months ago | 9 days ago | |
Go | Go | |
MIT License | 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-enum
-
Ten Years of “Go: The Good, the Bad, and the Meh
While not perfect, there are ways to generate enums automatically using go:generate, e.g. https://github.com/abice/go-enum
-
Go vs Rust
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?
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?
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?
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
Looks like this does what you want: https://github.com/abice/go-enum
go-formatter
-
Why Go is great choice for Software engineering.
A curated list of awesome Go frameworks, libraries and software - Awesome Go / Golang (awesome-go.com)
-
Golang Web: GET Method
Awesome Go projects and frmaeworks
-
How I do technology watch
Go: https://github.com/avelino/awesome-go
- Go
- Essential Command Line Tools for Developers
-
I created a search engine that helps you compare and determine quality, trends, and popularity in GO packages
✨ Includes all packages from Awesome Go ✨ (some entries did not exist anymore)
- A curated list of Go frameworks, libraries and software
- Awesome Go Frameworks, Libraries and Software
-
Golang: Channels
Awesome Go projects and frmaeworks
-
Goravel, Web framework inspired from Laravel in Golang
AFAIK, no. There are some helper frameworks [1], but none of them is dominant. Two possible reasons: it's quite easy to write a (web) service with the library functions (it even includes a gzip stream), and it's practically impossible to write an ORM framework like you have in Java and Python, so the Go frameworks I've seen are basically a bunch of helper functions.
[1] https://github.com/avelino/awesome-go#web-frameworks
What are some alternatives?
goderive - Derives and generates mundane golang functions that you do not want to maintain yourself
gobeam/Stringy - Convert string to camel case, snake case, kebab case / slugify, custom delimiter, pad string, tease string and many other functionalities with help of by Stringy package.
gotype - Golang source code parsing, usage like reflect package
go-shortid - Super short, fully unique, non-sequential and URL friendly Ids
GoWrap - GoWrap is a command line tool for generating decorators for Go interfaces
numa - NUMA is a utility library, which is written in go. It help us to write some NUMA-AWARED code.
go-xray - Helpers for making the use of reflection easier
stateless - Go library for creating finite state machines
generis - Versatile Go code generator.
morse - Morse Code Library in Go
typeregistry - create type dynamically in Golang
bexp - Go implementation of Brace Expansion mechanism to generate arbitrary strings.