Good point, didn't think of that On Wed, Feb 1, 2023, 15:30 p...@morth.org <p...@morth.org> wrote:
> It would actually be ambiguous in the very place they're required. > > Consider this not completely unreasonable example: > https://go.dev/play/p/OL0uOnPZXju > > Also, with generics it could be ambiguous in type parameters. > To summarize, parentheses are needed around the return types because > otherwise anywhere a list of types is used, it would be ambiguous. > > Regards, > Per Johansson > > On Tuesday, January 31, 2023 at 8:38:46 PM UTC+1 axel.wa...@googlemail.com > wrote: > >> I'm not sure there really is a "reason", per se. The language could just >> as well have been designed not to require parentheses around the return >> types (at least I see no parsing ambiguity with that, though there might >> be) or designed to require parentheses in the return statement. It probably >> just felt more intuitive and readable to the designers at the time. >> >> FWIW I find it more interesting that `func() T` requires no parentheses, >> but `func() (S, T)` does. >> >> On Tue, Jan 31, 2023 at 5:55 PM Raphael Clancy <raphael...@gmail.com> >> wrote: >> >>> Hey all, I figured it was time to move to a "modern" language and I >>> thought I'd give go a try. So far, I'm really enjoying it. I'm just getting >>> started and I had a question about parentheses. Though, I guess it's really >>> about how go parses lines of code and what counts as a delimiter. >>> >>> Anyway, in the get started section on error handling >>> <https://go.dev/doc/tutorial/handle-errors>, why are parentheses >>> required around string and error here: >>> >>> func Hello(name string) (string, error) {... >>> >>> but not around message and nil here: >>> >>> return message, nil >>> >>> I tried searching a bit but I couldn't come up with anything about such >>> a basic topic. >>> >>> Thanks! >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "golang-nuts" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to golang-nuts...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/golang-nuts/b49dc8c2-26ea-46bc-b76a-708a2537207cn%40googlegroups.com >>> <https://groups.google.com/d/msgid/golang-nuts/b49dc8c2-26ea-46bc-b76a-708a2537207cn%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/56d23af2-b3dd-4c59-86d4-d14d56e73a93n%40googlegroups.com > <https://groups.google.com/d/msgid/golang-nuts/56d23af2-b3dd-4c59-86d4-d14d56e73a93n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAEkBMfFYndn-TcGvQyzwJwAUT%3Dr-X%2BgTKtjUpHT4aGejTtc-YA%40mail.gmail.com.