| ▲ | awesome_dude 2 hours ago | |
Linters are available to catch you before you compile - with Go Generally speaking there has to be a mechanism for optional handling of return values, in Go you can ignore everything (ew), you can use placeholders `_`, or you can explicitly handle things - my preference. If you say "Well in C you have to handle the returns - I am not across C enough to comment, but I will ask you - Does C actually force you, or does it allow you to say "ok I will put some variables in to catch the returns, but I will never actually use those variables" - because that's very much the same as Go with the placeholder approach edit: I am told the following is possible in C trySomething(); // Assumes that the author of trySomething has not annotated the function as a `nodiscard` (void)trySomething(); // Casts the return(s) to void, telling the compiler to ignore the non-handling int dummy = trySomething(); // assign to a variable that's never used again I welcome correction | ||