4 ms·
There is no exhaustive pattern matching in golang. And you would have to define your own unmarshall function that translates "Rent" into, perhaps, a const. So
by 4ydx 12y ago
There is no exhaustive pattern matching in golang. And you would have to define your own unmarshall function that translates "Rent" into, perhaps, a const. So, yes, type safety in golang is not as powerful as it is in Haskell. I think we already knew that though didn't we :)
- codygman 12y ago> So, yes, type safety in golang is not as powerful as it is in Haskell. I think we already knew that though didn't we :) That is just a really big one for me I wanted to share and get others opinion on. I guess I just feel like a lot of people don't realize how much having that stringly typed hole means. Perhaps others just disagree. I would love to hear a counter argument for why others don't think this matters.
- NateDad 12y agoI've been coding professionally for 16 years. I've written a lot of this kind of code: switch (someEnum) { case foo: <something> case bar: <something> default: throw DeveloperScrewedUpException("Unknown enum val: " + someEnum) } ...You know how often I've seen those exceptions? Never. Not once. I'm not saying it can't happen, and I'm not saying that I wouldn't want a compiler error to tell me I missed a value... but I am saying that it just doesn't actually happen all that often in my experience, especially with decent tests. And yes, I've worked on systems for many years where they've evolved and things have changed significantly, so it's not just that I've only worked on brand new projects.