golangでは戻り値とする変数名に予め名前を決めておくことができる。
Named return values
https://tour.golang.org/basics/7
named returnではなく、named return valuesなので、return valuesがnamedなのだ。
01: package main
02:
03: import "fmt"
04:
05: func namedReturn(param int) (a int, b string) {
06: if param == 0 {
07: a = 10
08: b = "hello"
09: return
10: } else {
11: return 99, "world"
12: }
13: }
14:
15: func main() {
16: p, q := namedReturn(0)
17: fmt.Printf("p=%d, q=%s\n", p, q)
18: p, q = namedReturn(1)
19: fmt.Printf("p=%d, q=%s\n", p, q)
20: }
かといって、名前を付けていたからといってreturnが空っぽ(naked returnというそうだ)でなければ指定した値を返すこともできる。
この辺は、namedにしたらnamedだけ、みたいなルールの方が良かったんじゃないかと思うが、まあ自分で気をつければいいか。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。