English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Go 언어에서는 return 문을 통해 하나의 값을 반환할 수 있습니다.함수여러 값을 반환합니다. 다시 말해, 함수에서는 단일 return 문이 여러 값을 반환할 수 있습니다. 반환 값을 타입은 매개변수 목록에서 정의된 매개변수 타입과 유사합니다.
문법:
func function_name(parameter_list)(return_type_list){ // code... }
여기서
function_name:이는함수의 이름을 포함합니다.
parameter-list:이는 함수 매개변수 이름과 타입을 포함합니다.
return_type_list:이는 선택 사항입니다. 이는 함수가 반환하는 값을 포함합니다. 함수에서 return_type를 사용하면 반드시 함수에서 return 문을 사용해야 합니다.
package main import "fmt" // myfunc가 반환합니다.3int 타입의 값 func myfunc(p, q int) (int, int, int) { return p - q, p * q, p + q } func main() { //을 반환 값을 할당합니다. 세 개의 다른 변수에 var myvar1, myvar2, myvar3 = myfunc(4, 2) // 표시된 값 fmt.Printf("결과는: %d", myvar1) fmt.Printf("\n결과는: %d", myvar2) fmt.Printf("\n결과는: %d", myvar3) }
출력:
결과는: 2 결과는: 8 결과는: 6
Go 언어에서는 반환 값을 이름을 제공할 수 있습니다. 이러한 변수 이름을 코드에서 사용할 수도 있습니다. 이러한 이름을 반환语句에 사용하지 않아도 됩니다. Go 컴파일러는 이러한 변수가 반드시 반환되어야 한다는 것을 자동으로 이해합니다. 이러한 종류의 반환은 브라운 리턴으로 불립니다. 간단한 반환은 프로그램의 중복을 줄입니다.
문법:
func function_name(para1, para2 int)(name1 int, name2 int){ // code... } 또는 func function_name(para1, para2 int)(name1, name2 int){ // code... }
여기서name1과name2은 반환 값 이름이며, para1과 para2은 함수의 매개변수입니다.
package main import "fmt" // myfunc가 반환합니다.2int 타입의 값 //이는 반환 값 이름입니다. //는 rectangle 과 square func myfunc(p, q int) (rectangle int, square int) { rectangle = p * q square = p * p return } func main() { //을 반환 값을 할당합니다. //두 개의 다른 변수 var area1, area2 = myfunc(2, 4) fmt.Printf("직사각형 면적: %d", area1) fmt.Printf("\n정사각형 면적: %d", area2) }
출력:
矩形面积为: 8 矩形面积为: 4