Go by Example: 다중 반환값

Go는 자체적으로 다중 반환값(multiple return values)을 지원합니다. 이는 Go다운 코드를 작성하는데 있어 종종 사용되는데, 예를 들어 함수에서 결괏값과 에러를 동시에 반환하는 경우가 있습니다.

package main
import "fmt"

다음 함수 시그니처에 있는 (int, int)는 이 함수가 2개의 int를 반환한다는걸 의미합니다.

func vals() (int, int) {
	return 3, 7
}
func main() {

다음은 함수 호출로부터 반환되는 두 반환값을 다중 할당(multiple assignment)으로 받습니다.

	a, b := vals()
	fmt.Println(a)
	fmt.Println(b)

반환값들중 일부만 사용하고 싶을땐, 공백 식별자 _을 사용합니다.

	_, c := vals()
	fmt.Println(c)
}
$ go run multiple-return-values.go
3
7
7

Go 함수의 또 다른 멋진 기능중 하나는 가변 인자를 사용할 수 있다는겁니다. 다음 예제에서 이에 대해 살펴봅시다.

다음 예제: 가변 함수.