>백엔드 개발 >Golang >Go 언어에서 무기한 매개변수 유형은 무엇을 의미하나요?

Go 언어에서 무기한 매개변수 유형은 무엇을 의미하나요?

王林
王林원래의
2021-02-07 14:36:383198검색

Go 언어에서 무기한 매개변수 유형은 함수에 의해 전달된 매개변수의 수가 무한정임을 의미합니다. 코드 예시는 "func Add(a int, args ...int) (result int)"와 같습니다. .

Go 언어에서 무기한 매개변수 유형은 무엇을 의미하나요?

이 기사의 운영 환경: windows10 시스템, Go 1.11.2, thinkpad t480 컴퓨터.

무한 매개변수는 함수에 의해 전달된 매개변수의 수가 무한하다는 것을 의미합니다.

package main
 
import (
    "fmt"
)
 
 
//不定参数函数
func Add(a int, args ...int) (result int) {
    result += a
    for _, arg := range args {
        result += arg
    }
    return
}
 
func main() {
    fmt.Println(Add(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))

코드의 args는 배열 슬라이스이며 매개변수 끝에만 배치할 수 있습니다.

관련 확장 소개:

Go(Golang이라고도 함)는 Google에서 개발한 정적으로 강력한 형식, 컴파일, 동시 및 가비지 수집 프로그래밍 언어입니다.

Robert Griesemer, Rob Pike 및 Ken Thompson은 2007년 9월에 Go 디자인을 시작했으며 나중에 Ian Lance Taylor와 Russ Cox가 프로젝트에 합류했습니다. Go는 Inferno 운영 체제를 기반으로 개발되었습니다. Go는 2009년 11월에 공식적으로 발표되어 오픈 소스 프로젝트가 되었고 Linux 및 Mac OS X 플랫폼에서 구현되었으며 나중에 Windows 시스템에서 구현이 추가되었습니다. 2016년에는 소프트웨어 평가업체인 TIOBE가 선정한 'TIOBE의 2016년 최고의 언어'로 Go가 선정되었습니다. 현재 Go는 6개월마다 두 번째 수준 버전을 출시합니다(즉, a.x에서 a.y로 업그레이드).

Go의 구문은 C 언어에 가깝지만 변수 선언이 다릅니다. Go는 가비지 수집을 지원합니다. Go의 병렬 모델은 Tony Hall의 CSP(Communicating Sequential Process)를 기반으로 하며 유사한 모델을 채택한 다른 언어로는 Occam 및 Limbo가 있지만 채널 전송과 같은 Pi 작업 기능도 갖추고 있습니다. 플러그인 지원은 버전 1.8에서 시작됩니다. 이는 이제 일부 기능을 Go에서 동적으로 로드할 수 있음을 의미합니다.

C++에 비해 Go에는 열거형, 예외 처리, 상속, 제네릭, 어설션, 가상 함수 등과 같은 기능이 포함되어 있지 않지만 슬라이스 유형, 동시성, 파이프, 가비지 수집 및 인터페이스가 추가됩니다. 다른 기능의 경우. Go 2.0 버전은 제네릭을 지원하지만 단언문의 존재에 대해 부정적인 태도를 갖고 있으며 유형 상속을 제공하지 않는 것에 대해 스스로를 방어합니다.

Java와 달리 Go에는 문자열 유형과 마찬가지로 연관 배열(해시 또는 사전이라고도 함)이 내장되어 있습니다.

관련 추천: golang 튜토리얼

위 내용은 Go 언어에서 무기한 매개변수 유형은 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.