That is certainly a possibility, personally I would say it's a little bit too magic and implicit for my taste. How do you know if the error handling was intentional or if the programmer simply forgot about the error return? It also makes the code much harder to read and understand the control flow. For example, you would have to go look at the Foo() method to see if it returns an error or not to understand if the calling function could possibly return early.
Arguably a ? operator would also make the code harder to read compared to the full `if err != nil {}` boilerplate. But it is at least something explicit that the programmer has to opt-in to in order to handle the error. Readers of the code can see and understand that the function could return early at that point without needing to look up the Foo method.