可选参数?

thw*_*hwd 5 function go optional-arguments

有没有办法在 Go 编程语言中将参数声明为“可选”?

我的意思的例子:

func doSomething(foo string, bar int) bool {
    //...
}
Run Code Online (Sandbox Code Playgroud)

我希望该参数bar是可选的,并且0如果没有传递任何内容,则默认为该参数。

doSomething("foo")
Run Code Online (Sandbox Code Playgroud)

会是一样的

doSomething("foo",0)
Run Code Online (Sandbox Code Playgroud)

我在有关 Functions 的官方文档中找不到有关此事的任何信息。

nmi*_*els 3

我不相信 Go 确实支持函数的可选参数,尽管你可以用可变参数函数来伪造它。如果您不想这样做,C 方法就是假装该语言支持柯里化:

func doSomethingNormally(foo string) bool {
    doSomething(foo, 0)
}
Run Code Online (Sandbox Code Playgroud)