dongyi5570 2017-09-22 11:33
浏览 100
已采纳

函数类型变量声明-官方Golang文档页面上的错字

At golang.org blog here we have the syntax to declare a function-type variable

f func(func(int,int) int, int) func(int, int) int

and I don't understand since it should be as below i.e. without the last 'int'

f func(func(int,int) int, int) func(int, int)

I'm a Go newbie and I may misunderstand something here. So is that a typo?

  • 写回答

2条回答 默认 最新

  • duanlei1957 2017-09-22 11:38
    关注

    Both are correct.

    This:

    f func(func(int,int) int, int) func(int, int) int
    

    is a function f which takes 2 params, first is of type func(int,int) int, second is an int, and returns a function that has 2 int params and an int return type.

    This:

    f func(func(int,int) int, int) func(int, int)
    

    is mostly the same, but the return function type only has 2 int params, and does not return anything.

    So there is no typo in the doc.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?