package main
import "fmt"
func vals() (int, int) {
return 3, 7
}
func main() {
a, b := vals()
fmt.Println(a)
fmt.Println(b)
_, c:=vals()
fmt.Println(c)
}
vals 함수는 두 개의 int 값을 반환한다. 개발자는 multiple assignment를 이용해서 여러 개의 값을 할당할 수 있다. 만약 반환 값을 할당하고 싶지 않다면 언더바(_)를 이용하면 된다.
Go 언어로 프로그램을 개발한다면, 많은 경우 에러와 값을 반환하기 위해서 multiple return values를 사용 할 것이다. 아래는 처리 값과 error를 함께 반환하는 예제 프로그램이다.
#include <stdio.h>
int divide(int a, int b) {
return a / b;
}
int main(int argc, char **argv) {
int a = 5;
int b = 0;
if (b == 0) {
printf("분모로 0을 사용 할 수 없습니다.\n");
} else {
printf("a / 4 = %d\n", a/b);
}
return 0;
}
위의 C 코드와 Go 코드를 비교해 보면, Go 코드가 훨씬 깔끔하다는 걸 느낄 수 있을 것이다. 이유는 Go의 코드가 자기 완결성을 가지고 있기 때문이다.
다음 예제 : Variadic Function
예제로 살펴보는 Go : Multiple Return Values
Recent Posts
Archive Posts
Tags