Named Results
メソッドの引数、複数宣言するときは型をまとめられる。 あと戻り値の型宣言も複数できる。複数返ることがわかりやすくていいね。 そして戻り値の宣言時に名前をつけられる。名前をつけた場合は、そのメソッドの同名ローカル変数がそのままreturnで戻る。
package main import "fmt" func hoge(x, y int) (sum, diff int) { sum = x + y diff = x - y return } func main() { fmt.Println(hoge(10, 6)) }
% go run hoge.go 16 4
最初メソッド大文字始まりちょっと違和感あったけど、メソッドの大文字はパッケージ外に対してpublic, 小文字はprivateみたいな扱いらしい。 まだスコープがよくわかっていない。