在 go 教程中经常看到以下代码:
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
茅侃侃
相关分类