Go:调用函数时如何使用命名参数?

如何在使用命名参数时调用函数?

我想做的事情的例子:

func Add(a int, b int) int {

  return a + b

}


func main() {

  c := Add(a: 1, b:3)

  return c

}

但是,上面给了我错误:


unexpected :, expecting comma or )

(它指的是“a”之后的“:”)


慕的地8271018
浏览 177回答 2
2回答

梵蒂冈之花

简而言之:Go 语言不支持命名参数,但 IDE 支持(见下文)。我同意命名参数在 Go 中可能很有用。它可以帮助避免错误。例如,就在昨天,我的测试发现了一个错误,其中源和目标。copy()(Go 内置函数)的参数从后到前。然而,Go可能拥有数百种有用的语言功能。我们尽量避免向语言添加非必要的功能,以保持简单。一旦您在大型项目中使用了 Go,您就会非常感激与其他语言相比,事情要简单得多。(我专业使用过十多种语言,而 Go 是迄今为止最不烦人的。)但实际上,如果您的 IDE 支持,您可以使用命名参数。例如,我使用 GoLand,当您输入函数的参数时,它会显示参数名称(浅灰色),并在值之前显示冒号。这比您习惯的更好,因为您甚至不需要输入名称!

海绵宝宝撒

Go 没有命名参数。我所知道的 Go 命名参数中最接近的事情是使用结构体作为输入。所以对于你的例子你可以这样做 -type Input struct {  A int  B int}func Add(in Input) int {  return in.A + in.B}func main() {  c := Add(Input{A: 1, B: 3})  return c}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go