적합한 매개 변수 코드는 로그 함수 등으로 사용하는 것이 간단하고, 특히 입출력 클래스 기능을 할 수 있도록하는 것이 사용.
실시 예 4에서이 문서에서는 가변 파라미터의 사용을 설명한다.
프로그램 코드 :
주요 패키지 가져 오기 ( " 바이트 " " FMT " ) / * ********************************************************. 1 **************** 정의 매개 변수 변수 기능 에만 유형이 존재하는 매개 변수의 함수로 폼 ... 형 타입 형식의 마지막 인수 여야가, 그것은 문법 설탕 (문법 설탕)이다 즉, 언어의 구문은, 기능에 영향을주지 않지만 프로그래머는,보다 편리하게 사용하는 것이 일반적으로, 문법 설탕의 사용은 가독성을 높일 수 있습니다, 프로그램이 가능한 오류 줄이기 위해 * / FUNC의이 myfunc (인수 ... 지능 ) { 위해 =, V _ 범위 인수 { FMT. 에 println (V) } } / * ******************************************************** 2 **************** 변수 패러미터 임의의 유형 의 계면으로 {} 모든 유형의 데이터가 이동 언어 사용의 연습 통과는 인터페이스의 사용은 {} 여전히 안전 타입 * / FUNC의 myprintf (인수 ...인터페이스 {}) { 위해 _, ARG =는 인수 {범위 스위치 . ARG를 (형태) { 경우 INT는 : fmt.Println은 (ARG는 " int 값이다. " ) 의 경우 문자열 : fmt.Println는 (ARG는 " 은 문자열 값입니다. " ) 의 경우 INT64 : fmt.Println (ARG는, " Int64 값입니다. " ) 기본 : fmt.Println (ARG, " 알 수없는 값입니다. " ) } } } / * ******************************************************** 3 **************** 가변 파라미터의리스트를 횡단 - 각 파라미터 취득 값 * / FUNC JoinStrings (SLIST ... 캐릭터 ) 캐릭터 { // 바이트 버퍼의 정의는, 빠른 연결 문자열 var에 bytes.Buffer 대 B는 상태 에 대한 _, S = 범위 SLIST { //를 바이트 스트링 라이트를 통과 할 바이트 어레이로 b.WriteString (S) } // 문자열로 결찰 바이트 배열 복귀 b.String () } FUNC rawPrint (SLST ... 인터페이스 {}) { 위한 _, V = 범위 {SLST fmt.Println (V) } } / ***************** ***************** 4 함수의 변수 파라미터의 복수의 패스 매개 변수 이 포함하려는 경우 ... 통과 할 때, 다음 함수 변수 파라미터 변수 가변 전송 파라미터는, 가변 매개 변수를 다시 첨가 할 수 * / FUNC personPrint (SLST ... 인터페이스 {}) { rawPrint (SLST ...) } FUNC을 주 () { // 파라미터의 함수 변화 정의 에서 myfunc을 ( . 1 , . 7 , . 5 ) VAR V1 INT = . 1 VAR V2 INT64 = 234 VAR V3 스트링 = " 안녕하세요 " var에 V4 float32 = 1.23 // 변수 패러미터의 어떤 유형 MyPrintf (V1, V2, V3, V4 )// 대하여 반복 가변 인수 목록 - 각 매개 변수에 대한 값을 획득 fmt.Println (JoinStrings ( " 여자 " , " 및 " , " 여러분 " )) // 변수 패러미터의 복수의 기능의 파라미터를 전달 (personPrint . 1 , 3 , 5 ) }
프로그램 출력 :
1 7 5 1 이다 INT의 값. 234 이다 Int64 값. 안녕하세요 입니다 문자열 값. 1.23 입니다 알 수없는 값입니다. 신사 숙녀 여러분 1 3 5