Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Golang等价于JavaScript';谁的论点?_Go_Arguments - Fatal编程技术网

Golang等价于JavaScript';谁的论点?

Golang等价于JavaScript';谁的论点?,go,arguments,Go,Arguments,有没有一种golang方法可以获取函数的运行时参数 我这样问是因为我试图编写一个函数,它接受一个函数和一个字符串,然后输出字符串和运行时参数 与JavaScript不同,JavaScript可以使用声明中未包含的额外参数调用函数,对Go函数的调用必须与函数签名匹配。因此不需要特殊的参数global 也就是说,可以编写可变参数数的可变函数。例如,以下函数将接受后跟任意数量整数参数的字符串: func foo(s string, args ...int) { ... } 函数体中的args

有没有一种golang方法可以获取函数的运行时参数


我这样问是因为我试图编写一个函数,它接受一个函数和一个字符串,然后输出字符串和运行时参数

与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的答案涵盖了我。