Golang等价于JavaScript';谁的论点?
有没有一种golang方法可以获取函数的运行时参数Golang等价于JavaScript';谁的论点?,go,arguments,Go,Arguments,有没有一种golang方法可以获取函数的运行时参数 我这样问是因为我试图编写一个函数,它接受一个函数和一个字符串,然后输出字符串和运行时参数 与JavaScript不同,JavaScript可以使用声明中未包含的额外参数调用函数,对Go函数的调用必须与函数签名匹配。因此不需要特殊的参数global 也就是说,可以编写可变参数数的可变函数。例如,以下函数将接受后跟任意数量整数参数的字符串: func foo(s string, args ...int) { ... } 函数体中的args
我这样问是因为我试图编写一个函数,它接受一个函数和一个字符串,然后输出字符串和运行时参数 与JavaScript不同,JavaScript可以使用声明中未包含的额外参数调用函数,对Go函数的调用必须与函数签名匹配。因此不需要特殊的
参数
global
也就是说,可以编写可变参数数的可变函数。例如,以下函数将接受后跟任意数量整数参数的字符串:
func foo(s string, args ...int) {
...
}
函数体中的args
将是一个[]int
切片,因此您可以确定使用len
传递了多少个参数,并像使用任何其他切片一样对它们进行迭代
如果您想接受任何类型的参数,可以使用空白接口作为类型:
func bar(args ...interface{}) {
...
}
现在,
args
将是一个[]接口{}
片。您可以使用or来解压传入的值。与JavaScript不同,JavaScript可以使用声明中未包含的额外参数调用函数,对Go函数的调用必须与函数签名匹配。因此不需要特殊的参数
global
也就是说,可以编写可变参数数的可变函数。例如,以下函数将接受后跟任意数量整数参数的字符串:
func foo(s string, args ...int) {
...
}
函数体中的args
将是一个[]int
切片,因此您可以确定使用len
传递了多少个参数,并像使用任何其他切片一样对它们进行迭代
如果您想接受任何类型的参数,可以使用空白接口作为类型:
func bar(args ...interface{}) {
...
}
现在,
args
将是一个[]接口{}
片。您可以使用or来解压传入的值。与JavaScript不同,JavaScript可以使用声明中未包含的额外参数调用函数,对Go函数的调用必须与函数签名匹配。因此不需要特殊的参数
global
也就是说,可以编写可变参数数的可变函数。例如,以下函数将接受后跟任意数量整数参数的字符串:
func foo(s string, args ...int) {
...
}
函数体中的args
将是一个[]int
切片,因此您可以确定使用len
传递了多少个参数,并像使用任何其他切片一样对它们进行迭代
如果您想接受任何类型的参数,可以使用空白接口作为类型:
func bar(args ...interface{}) {
...
}
现在,
args
将是一个[]接口{}
片。您可以使用or来解压传入的值。与JavaScript不同,JavaScript可以使用声明中未包含的额外参数调用函数,对Go函数的调用必须与函数签名匹配。因此不需要特殊的参数
global
也就是说,可以编写可变参数数的可变函数。例如,以下函数将接受后跟任意数量整数参数的字符串:
func foo(s string, args ...int) {
...
}
函数体中的args
将是一个[]int
切片,因此您可以确定使用len
传递了多少个参数,并像使用任何其他切片一样对它们进行迭代
如果您想接受任何类型的参数,可以使用空白接口作为类型:
func bar(args ...interface{}) {
...
}
现在,
args
将是一个[]接口{}
片。您可以使用or解压传入的值。Go是一种静态类型的编译语言。你必须为你的函数定义参数才能编译。你在找吗?我不是在找变量函数,不是。JimB的答案涵盖了我。Go是一种静态类型的编译语言。你必须为你的函数定义参数才能编译。你在找吗?我不是在找变量函数,不是。JimB的答案涵盖了我。Go是一种静态类型的编译语言。你必须为你的函数定义参数才能编译。你在找吗?我不是在找变量函数,不是。JimB的答案涵盖了我。Go是一种静态类型的编译语言。你必须为你的函数定义参数才能编译。你在找吗?我不是在找变量函数,不是。JimB的答案涵盖了我。