> 백엔드 개발 > Golang > Golang 함수 varargs 매개변수의 원리와 사용법

Golang 함수 varargs 매개변수의 원리와 사용법

WBOY
풀어 주다: 2024-06-02 09:06:57
원래의
811명이 탐색했습니다.

Go 언어에서는 ... 기호를 사용하여 varargs 매개변수를 선언합니다. 이를 통해 함수는 동일한 유형의 가변 개수 매개변수를 수신할 수 있습니다. varargs 매개변수는 모든 추가 매개변수를 저장하고 인덱스를 통해 요소에 액세스할 수 있도록 하는 슬라이스를 뒤에서 만듭니다. 이 경우 sumVarargs 함수는 varargs 매개변수를 사용하여 임의 개수의 int 매개변수의 합계를 계산합니다. varargs 매개변수는 마지막 매개변수여야 하며 기본값을 지정할 수 없습니다.

Golang 函数 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라는 슬라이스를 뒤에서 생성합니다. 슬라이스는 함수 변수의 일부이며 함수가 이에 액세스할 수 있도록 합니다.
  • 선언:
  • varargs 매개변수를 선언하려면 다음과 같이 함수 서명에 ... 기호를 추가하고 그 뒤에 유형 이름을 추가하면 됩니다.
  • rrreee
이 예에서는 , myFunction은 세 가지 매개변수인 a(유형은 int), b(유형은 string) 및 <code>c 슬라이스에 저장된 가변 개수의 int 매개변수. 🎜🎜🎜사용법: 🎜🎜🎜varargs 매개변수는 함수의 다른 매개변수처럼 사용할 수 있습니다. 예를 들어, c 슬라이스의 요소는 인덱스로 액세스할 수 있습니다: 🎜rrreee🎜🎜실제 예: 🎜🎜🎜다음은 varargs 매개변수를 사용하여 여러 매개변수의 합을 계산하는 예입니다. : 🎜rrreee🎜이 경우 sumVarargs 함수는 varargs 매개변수(nums)를 사용하여 원하는 수의 int 인수를 받고 해당 합계를 계산합니다. 🎜🎜🎜추가 지침: 🎜🎜🎜🎜varargs 매개변수는 함수의 마지막 매개변수여야 합니다. 🎜🎜varargs 매개변수의 기본값을 지정할 수 없습니다. 🎜🎜varargs 매개변수는 필수가 아닙니다. 즉, 함수에 varargs 매개변수가 있을 수 없습니다. 🎜🎜

위 내용은 Golang 함수 varargs 매개변수의 원리와 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿