Go 언어에서는 ... 기호를 사용하여 varargs 매개변수를 선언합니다. 이를 통해 함수는 동일한 유형의 가변 개수 매개변수를 수신할 수 있습니다. varargs 매개변수는 모든 추가 매개변수를 저장하고 인덱스를 통해 요소에 액세스할 수 있도록 하는 슬라이스를 뒤에서 만듭니다. 이 경우 sumVarargs 함수는 varargs 매개변수를 사용하여 임의 개수의 int 매개변수의 합계를 계산합니다. varargs 매개변수는 마지막 매개변수여야 하며 기본값을 지정할 수 없습니다.
Go 언어의 Varargs 매개변수: 원리 및 사용법
Go 언어에서 varargs 매개변수를 사용하면 함수가 다양한 수의 매개변수를 허용할 수 있습니다. 이 기능은 ...
표기법을 사용하여 구현됩니다. 이는 함수가 동일한 유형의 인수를 무제한으로 받을 수 있음을 나타냅니다. ...
符号来实现,表示函数可以接收任意数量的相同类型的参数。
原理:
varargs 参数在幕后创建一个名为 args
的切片,该切片包含函数接收到的所有额外参数。该切片是函数变量中的一部分,可以让函数访问它。
声明:
要声明一个 varargs 参数,只需在函数签名中添加 ...
符号,后跟类型的名称,如下所示:
func myFunction(a int, b string, c ...int) { // 函数代码 }
在这个例子中,myFunction
接受三个参数:a
(类型为 int
)、b
(类型为 string
)和一个可变数量的 int
参数,存储在 c
切片中。
用法:
varargs 参数可以在函数中像其他任何参数一样使用。例如,可以通过索引访问 c
切片中的元素:
func sumVarargs(nums ...int) int { sum := 0 for _, num := range nums { sum += num } return sum }
实战案例:
以下是一个使用 varargs 参数计算任意数量参数总和的案例:
package main import "fmt" func sumVarargs(nums ...int) int { sum := 0 for _, num := range nums { sum += num } return sum } func main() { total := sumVarargs(1, 2, 3, 4, 5) fmt.Println("Total:", total) // 输出:15 }
在这个案例中,sumVarargs
函数使用 varargs 参数 (nums
) 接收任意数量的 int
작동 방식:
varargs 매개변수는 함수에서 수신한 모든 추가 인수를 포함하는args
라는 슬라이스를 뒤에서 생성합니다. 슬라이스는 함수 변수의 일부이며 함수가 이에 액세스할 수 있도록 합니다. ...
기호를 추가하고 그 뒤에 유형 이름을 추가하면 됩니다. myFunction
은 세 가지 매개변수인 a
(유형은 int
), b
(유형은 string) 및 <code>c
슬라이스에 저장된 가변 개수의 int
매개변수. 🎜🎜🎜사용법: 🎜🎜🎜varargs 매개변수는 함수의 다른 매개변수처럼 사용할 수 있습니다. 예를 들어, c
슬라이스의 요소는 인덱스로 액세스할 수 있습니다: 🎜rrreee🎜🎜실제 예: 🎜🎜🎜다음은 varargs 매개변수를 사용하여 여러 매개변수의 합을 계산하는 예입니다. : 🎜rrreee🎜이 경우 sumVarargs
함수는 varargs 매개변수(nums
)를 사용하여 원하는 수의 int
인수를 받고 해당 합계를 계산합니다. 🎜🎜🎜추가 지침: 🎜🎜🎜🎜varargs 매개변수는 함수의 마지막 매개변수여야 합니다. 🎜🎜varargs 매개변수의 기본값을 지정할 수 없습니다. 🎜🎜varargs 매개변수는 필수가 아닙니다. 즉, 함수에 varargs 매개변수가 있을 수 없습니다. 🎜🎜위 내용은 Golang 함수 varargs 매개변수의 원리와 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!