duanliao6789 2011-12-30 18:54
浏览 77
已采纳

可选参数?

Is there a way to declare an argument as "optional" in the Go programming language?

Example of what I mean:

func doSomething(foo string, bar int) bool {
    //...
}

I want the parameter bar to be optional and default to 0 if nothing is passed through.

doSomething("foo")

would be the same as

doSomething("foo",0)

I'm unable to find anything about this matter in the official documentation about functions.

  • 写回答

2条回答 默认 最新

  • douxiong2999 2011-12-30 19:01
    关注

    I don't believe Go does support optional arguments to functions, though you can fake it with variadic functions. The C approach, if you don't want to do that, is to pretend the language supports currying:

    func doSomethingNormally(foo string) bool {
        doSomething(foo, 0)
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?