Being able to ignore return values is something that C had before they had function prototypes. The compiler didn't know if something returned a value, so it couldn't check. There's no good reason for that misfeature in a newer language.
Go apparently does it that way to make "defer" work.[1]
Go apparently does it that way to make "defer" work.[1]
[1] https://github.com/golang/go/issues/20803