Hacker News new | ask | show | jobs
by sirclueless 5022 days ago
You can ignore errors in Go by assigning them to _. You can't if your return value is sometimes an Error.
2 comments

You could implement something like lvalue pattern matching, if you wanted to.

Assuming you construct tagged unions like so:

    Valid 123
    Error "Error message"
You could pattern match on the left side of an assignment like so:

    Valid foo = dosomething()
    use(foo)
Which would extract the wrapped value into 'foo' if the union's tag was 'Valid', or aborted/panicked/did something else somewhat sane if the value didn't match.
If my return value is an Exception, I handle it in a catch block.