如何在使用命名参数时调用函数?我想做的事情的例子: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,当您输入函数的参数时,它会显示参数名称(浅灰色),并在值之前显示冒号。这比您习惯的更好,因为您甚至不需要输入名称!
海绵宝宝撒
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
}
- 2 回答
- 0 关注
- 73 浏览
添加回答
举报
0/150
提交
取消