登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-19 09:15:40 335浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《Go:调用函数时如何使用命名参数?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

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

(如果不清楚命名参数是什么,这里有一个在 python 中使用它们的示例)

我想做的事情的示例:

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”后面的“:”)


解决方案


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
}

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

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

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

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

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>