Go by Example: [13] Multiple Return Values
Multiple Return Values
Go
언어에서는 다수개의 결과값을 리턴 할 수 있는 기능을 기본적으로 제공합니다.
이 기능이 Go
언어를 특징짓는 기능 중 하나이기도 합니다.
예를들면, 특정함수를 호출할 경우, 정상적인 결과값과 에러발생 유무를 반환할 수 있게됩니다.
package main
import "fmt"
func vals()(int, int) { // [1]
return 3, 7
}
func main() {
a, b := vals() // [2]
fmt.Println(a)
fmt.Println(b)
_, c := vals() // [3]
fmt.Println(c)
}
(int int)
로 표시한것이 바로 정수형 2개값을 반환한다는 선언입니다.- 함수 선언에서 2개의 정수값을 반환하도록 되어 있으므로, 2개의 변수를
단축선언
으로
선언한 후 각각 순차적으로 값을 대입 받을 수 있습니다. - 만약 2개를 반환하는 함수인데, 1개의 값만 사용하고 싶다면, 이미 배웠듯이
_
변수로
해당 값을 무시할 수 있습니다. (이렇게 하지 않으면, 사용하지 않는 변수에러가 발생합니다.)
실행하면 다음과 같습니다.
$ go run multiple-return-values.go
3
7
7
Go
언어의 또다른 특징중 하나는 바로 불특정 다수개의 인수를 넘겨줄 수 있는 기능입니다.