【问题标题】:Is it possible in Go to call a function with named arguments? [duplicate]在 Go 中是否可以使用命名参数调用函数? [复制]
【发布时间】:2019-10-15 20:26:51
【问题描述】:

我想在 Go 中调用一个函数,并将参数名称附加到参数值

func sum(a int, b int) int {
  return a + b
}

func main() {
  result := sum(a=4, b=5) // result == 9
}

有可能吗?

【问题讨论】:

    标签: function go arguments named


    【解决方案1】:

    go 中没有命名参数之类的东西

    【讨论】:

    • 您将ab 称为本地参数,我在函数签名中提到它们作为参数。但我明白,go 中没有名为参数的东西......谢谢!
    • 这个问题没有什么不合逻辑的。 python中存在这样的选项存在,它使代码在许多情况下都可以自我记录
    • 在调用函数时指定参数可以更清楚地传递什么信息,如果参数仍然正确排序,让编译器允许它并没有什么害处。初始化参数中的变量可能不行,但是a=4; b=5;结果 := sum(a=a, b=b) 是我希望看到的。
    【解决方案2】:

    目前 Go 没有办法在函数中使用命名参数。 如果你真的需要使用命名参数,你可以试试这个库go-named-params

    【讨论】:

    • 我看到了这个 repo,我希望避免不必要的包。谢谢
    猜你喜欢
    • 2013-10-08
    • 2014-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-06
    • 2020-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多