Golang 相当于 JavaScript 的参数?

标签 go arguments

是否有 golang 方法来获取函数的运行时参数?

我问这个问题是因为我正在尝试编写一个接受函数和字符串的函数,然后输出字符串和运行时参数。

最佳答案

与可以使用未包含在声明中的额外参数调用函数的 JavaScript 不同,对 Go 函数的调用必须与函数签名匹配。所以不需要特殊的 arguments global。

话虽如此,可以编写可以接受可变数量参数的可变参数函数。例如,以下函数将接受一个字符串,后跟任意数量的整数参数:

func foo(s string, args ...int) {
    ...
}

在函数体中 args 将是一个 []int slice ,因此您可以确定使用 len 传递了多少个参数,并且像处理任何其他 slice 一样遍历它们。

如果你想接受任何类型的参数,你可以使用空白接口(interface)作为类型:

func bar(args ...interface{}) {
    ...
}

现在 args 将是一个 []interface{} slice 。您可以使用 type assertion 解压传入的值或 type switch .

关于Golang 相当于 JavaScript 的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29082382/

相关文章:

go - 为什么接口(interface)分配比方法调用更严格?

go - 我如何使用 exec.Command().Output() 返回相同类型的值

git - golang git pull repo

html - 如何在自己的 html 中使用 mjpg-streamer?

linux - xargs 的 $1 与 shell 脚本中的 $1 冲突

go - 使用 Golang 的 google 表格中的错误

bash - 查找:缺少 -exec 的参数

javascript:将 key 从 for 循环传递到另一个函数失败

java - java中如何修改引用变量的值

javascript - 在 JavaScript 函数中提供事件参数的一般方法