Multiple Return Values
#
// Go は<em>多値の返り値</em>を組み込みでサポートしている。
// この機能は Go のイディオムで使われることが多く、例えば結果とエラーの両方を関数から返す場合に使う。
package main
import "fmt"
// この関数のシグネチャにおける `(int, int)` は、この関数が2つの `int` 型の値を返すことを表している。
func vals() (int, int) {
return 3, 7
}
func main() {
// ここでは2つの返り値を<em>多重代入</em>を使って受け取っている。
a, b := vals()
fmt.Println(a)
fmt.Println(b)
// もし返り値のうちの一部だけが必要なら、ブランク識別子 `_` を使えばよい。
_, c := vals()
fmt.Println(c)
}
$ go run multiple-return-values.go
3
7
7
# Go の関数の素敵な機能として、引数を何個でも受け取れる関数の書き方を次に紹介する。