为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
慕的地8271018 2023-07-26 15:44:09
如何在使用命名参数时调用函数?我想做的事情的例子: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”之后的“:”)
查看完整描述

2 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

简而言之:Go 语言不支持命名参数,但 IDE 支持(见下文)。

我同意命名参数在 Go 中可能很有用。它可以帮助避免错误。例如,就在昨天,我的测试发现了一个错误,其中源和目标。copy()(Go 内置函数)的参数从后到前。

然而,Go可能拥有数百种有用的语言功能。我们尽量避免向语言添加非必要的功能,以保持简单。一旦您在大型项目中使用了 Go,您就会非常感激与其他语言相比,事情要简单得多。(我专业使用过十多种语言,而 Go 是迄今为止最不烦人的。)

但实际上,如果您的 IDE 支持,您可以使用命名参数。例如,我使用 GoLand,当您输入函数的参数时,它会显示参数名称(浅灰色),并在值之前显示冒号。这比您习惯的更好,因为您甚至不需要输入名称!


查看完整回答
反对 回复 2023-07-26
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

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

}


查看完整回答
反对 回复 2023-07-26
  • 2 回答
  • 0 关注
  • 73 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信