3 ms·
And everyone can have their own Optional, meaning you'll going to install dozens of different generics libraries for just this feature. Tbf, this is simply sol
by kitd 5y ago
And everyone can have their own Optional, meaning you'll going to install dozens of different generics libraries for just this feature.
Tbf, this is simply solved by putting a generic optional in the stdlib.
- tgv 5y agoHow would it work, BTW? In Rust, you're forced to match against the enum before you can look at the value, but in Go you even can't match. So unless it's implemented as a type cast, testing optionality would be just like testing against nil. The current internal "optional" package just panics, which is just as useful as a panic on dereferencing nil.
- kitd 5y agoSimilar to a Java Optional<T> [1] Give it an interface that allows you to attach behaviours for not null and null values. [1] https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Optional.html https://docs.oracle.com/en/java/javase/11/docs/api/java.base...
- tgv 5y agoFunction passing/callbacks, no thanks. You still won't get a compiler error when passing a potentially nil value, and I'd rather have readable code. I hope Optional is not going to be in the way of progress in this area.