在golang func中引用变量是否正确?
如果我这样做:在golang func中引用变量是否正确?,go,Go,如果我这样做: func main() { foo := 1 go func() { fmt.Println(foo) }() } 在该func中引用foo是否错误?这很好,只是在更改上下文时需要注意(对于局部指针变量): 另请参见: package main import ( "errors" "fmt" ) func test() { defer func() { fmt.Println(1) }() defer func() {
func main() {
foo := 1
go func() {
fmt.Println(foo)
}()
}
在该func中引用foo是否错误?这很好,只是在更改上下文时需要注意(对于局部指针变量): 另请参见:
package main
import (
"errors"
"fmt"
)
func test() {
defer func() { fmt.Println(1) }()
defer func() { fmt.Println(2) }()
defer func() { fmt.Println(3) }()
}
func main() {
test()
err := errors.New("error 1")
defer func() { fmt.Println(err) }()
err = errors.New("error 2")
}