Re:Go Enums Suck
by zarldev on Friday March 01, 2024 @03:34PM
(#39566483)
DSL? The go way is to use go generate I would say and it can be used with go:generate, I would like to use the AST lib to parse go files to remove the need for any json and to be more like the cmd stringer tool.
[ Parent
| on HN ]
Re:Go Enums Suck
by llmblockchain on Friday March 01, 2024 @03:37PM
(#39566509)
Yes. Your DSL is JSON in this case,
{ "enums": [ { "package": "cmd", "type": "operation", "values": [ "Escalated", "Archived", "Deleted", "Completed" ] } ] }
My point was the "Go" way to do this isn't parsing a custom format (like your JSON), but it's to use go generate.
But all go generate does is run a binary like stringer? This can be used in go generate.
I'm not sure I understand exactly what you mean, but you can combine go:generate with go run so you can execute code from the current module/project that does what you want.
//go:generate go run ./internal/enumhelper -flag1 -flag2