Go 언어 함수 가변 전달을 사용하면 함수가 타원으로 표시되고 슬라이스 유형으로 함수에 전달되는 매개변수를 원하는 수만큼 허용할 수 있습니다. 실제 응용에서 가변 매개변수는 숫자 시퀀스의 평균 계산과 같이 무한한 수의 입력을 처리하는 데 자주 사용됩니다. 사용 시에는 변수 매개변수가 함수의 마지막 매개변수여야 한다는 점에 유의하고, 남용을 피하고, 명시적 유형 주장을 고려하세요.
Go 언어에서 함수 변수 매개변수 전달을 사용하면 함수가 무한한 수의 매개변수를 허용할 수 있으므로, 이는 무한한 수의 입력이 필요할 때 매우 유용합니다. 처리됩니다.
Variadic 인수 전달은 다음과 같이 함수 선언에서 ...
(줄임표) 표시를 사용하여 수행됩니다. ...
(省略号)标记,如下所示:
func myFunc(arg1 string, args ...int) {}
在这里,myFunc
函数接收第一个参数为字符串 arg1
,后续的参数作为可变参数 args
,并作为一个类型为 []int
的切片传递给函数。
考虑一个场景,您需要编写一个函数来计算给定数字序列的平均值:
package main import "fmt" // 计算数字序列平均值的函数 func average(numbers ...int) float64 { total := 0 for _, number := range numbers { total += number } return float64(total) / float64(len(numbers)) } func main() { // 使用可变参数调用 average 函数 numbers := []int{10, 20, 30, 40, 50} result := average(numbers...) // 打印平均值 fmt.Println("平均值:", result) }
在这个案例中:
average
函数声明具有可变参数 numbers
。main
使用省略号 ...
来展开 numbers
切片,并作为可变参数传递给 average
rrreeemyFunc
함수는 하나의 매개변수는 문자열 arg1
이고, 후속 매개변수는 변수 매개변수 args
로 사용되며 []int
함수 유형의 조각으로 전달됩니다. average
함수 선언에는 가변 변수가 있습니다. 매개변수 숫자
. main
는 타원 ...
을 사용하여 숫자
슬라이스를 확장하고 이를 average
에 다음과 같이 전달합니다. 변수 매개변수 > 함수. 위 내용은 Golang 함수 변수 매개변수 전달의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!