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 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。