go チュートリアルでは、次のコードがよく見られます。
a := foo()
b, c := foo()
または実際に私が見ているのは:
m["Answer"] = 48
a := m["Answer"]
v, ok := m["Answer"]
foo() はいくつ定義されていますか?
戻り値の型が 1 つと、戻り値の型が 2 つの 2 つですか?
または、2 つの戻り値の型が定義された 1 つの foo() だけで、魔法のように 1 つの戻り値 ( a := foo()
) だけが必要な場合、別の戻り値は省略されますか?
私は試した
package main
func main() {
a := foo()
a = 1
}
func foo() (x, y int) {
x = 1
y = 2
return
}
func foo() (y int) {
y = 2
return
}
しかし、エラーメッセージが表示されましたfoo redeclared in this block