在下面的代碼去教程經常看到:如何使功能支持一個或兩個返回值
a := foo()
b, c := foo()
或實際上我看到的是:
m["Answer"] = 48
a := m["Answer"]
v, ok := m["Answer"]
多少FOO()被定義?
它是兩個,一個有一個返回類型,另一個有兩個返回類型?
或者只是一個foo()有兩個返回類型定義,並且在某種程度上神奇地只需要一個返回值(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