3 ms·
Hmm, are we talking json parsing? Yes, the field would take the zero value. If you need to differentiate between the zero-value (eg empty string, 0 for numbers)
by klabb3 3y ago
Hmm, are we talking json parsing? Yes, the field would take the zero value. If you need to differentiate between the zero-value (eg empty string, 0 for numbers) you’d typically use a pointer only for that purpose. That kinda sucks but there are some good arguments for zero-defaults too.
The unmarshal functions take a reference but they don’t need to be declared as (heap-based) pointers. You can pass a `&val` directly. It needs a reference passed in to determine the type.
- wrcwill 3y agoyeah i meant if each field could be a tuple of (val, bool) or (val, err) to get around the pointer issue
- klabb3 3y agoThere are no tuples in Go. Very unfortunate. Tuples, enums and pattern matching is sooo good in Rust. I really miss it in Go.
- deleted 3y ago[deleted]
- throw-the-towel 3y agoJust for curiosity's sake, what good arguments for zero-defaults exist?