> 백엔드 개발 > Golang > golang func 무한 매개변수

golang func 무한 매개변수

PHPz
풀어 주다: 2023-05-14 20:29:35
원래의
497명이 탐색했습니다.

Golang 함수에서는 무한 매개변수를 사용하여 매개변수를 전달할 수 있습니다. 무기한 매개변수란 매개변수의 개수가 불확실한 경우 특수한 유형을 사용하여 모든 매개변수를 받는 것을 말합니다. 함수에서 ...type을 사용하여 무한 매개변수를 정의할 수 있습니다. 여기서 type은 int, string 등과 같은 모든 데이터 유형입니다.

다음은 무한 매개변수를 사용하여 숫자 집합의 합을 계산하는 기본 예입니다.

func sum(nums ...int) int {
    total := 0
    for _, num := range nums {
        total += num
    }
    return total
}

func main() {
    fmt.Println(sum(1, 2, 3, 4, 5)) // 输出 15
}
로그인 후 복사

위 예에서 sum 함수는 int 유형의 무한 매개변수 nums를 수신하고 for 루프를 사용하여 모든 숫자를 순회합니다. 매개변수를 선택하고 해당 값을 더합니다. main 함수에서는 sum 함수를 호출할 때 5개의 int 유형 매개변수를 전달하고 해당 합을 출력합니다.

무한 매개변수를 사용하면 매개변수 수를 미리 선언하지 않고도 원하는 수의 매개변수를 쉽게 전달할 수 있다는 장점이 있습니다. 로그 처리, 파일 경로, URL 등과 같이 동적 개수의 매개변수를 처리해야 하는 기능에 이상적입니다.

무기한 매개변수는 동일한 유형의 매개변수를 무한정 수신할 수 있을 뿐만 아니라 다른 유형의 매개변수도 받을 수 있습니다. 다음은 가변 매개변수를 사용하여 임의 개수의 값과 해당 유형을 출력하는 예입니다.

func display(values ...interface{}) {
    for _, value := range values {
        fmt.Printf("%v (%T)
", value, value)
    }
}

func main() {
    display(1, "hello", true)
}
로그인 후 복사

위 예에서 디스플레이 함수는 인터페이스{} 유형의 가변 개수의 매개변수 값을 수신하고 for 루프를 사용하여 모든 매개변수를 반복하고 Printf 함수를 사용하여 해당 값과 유형을 출력합니다. main 함수에서 display 함수를 호출하면 int 유형 값 1, 문자열 유형 값 "hello", bool 유형 값 true를 전달하고 해당 값과 유형을 출력합니다.

부정 매개변수를 사용할 때는 함수 매개변수 목록의 마지막 매개변수여야 한다는 점에 유의하세요. 함수가 호출될 때 인수는 결정적인 순서로 전달되어야 하므로, 변수 인수는 다른 인수가 이미 결정적이 되도록 매개변수 목록의 끝에 있어야 합니다.

간단히 말하면, 무한 매개변수를 사용하는 것은 동적 매개변수 수를 처리하는 매우 편리한 방법이므로 유연한 함수를 더 쉽게 작성할 수 있습니다. Golang에서는 무한 매개변수를 사용하기가 매우 쉽습니다. 함수를 정의할 때 ...type만 사용하면 됩니다.

위 내용은 golang func 무한 매개변수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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