Re:Go: What We Got Right, What We Got Wrong
by campbel on Friday January 05, 2024 @01:53PM
(#38883007)
I like zero values because when I create a struct I can know for certain accessing a non pointer won't crash the program. That's a pretty good value add. My type system also knows this, so I don't have to worry about asserting non nil values or adding needless if value == nil checks.
[ Parent
| on HN ]
Re:Go: What We Got Right, What We Got Wrong
by Gadiguibou on Saturday January 06, 2024 @11:16PM
(#38898379)
I understand that you like zero values as an alternative to initialization of objects as nil like Java does it. I think the parent comment explains pretty well what the issues with this approach are. Taking Rust as an example (because that's what I'm most familiar with), it's possible to simply enforce that variables are initialized explicitly or that safe constructors are provided, avoiding all the nil safety issues.