https://songjiayang.gitbooks.io/go-basic-courses/content/ch6/error.html
本文档第二个例子,我试了一下,结果是 2,不是 4。本人版本go version go1.9.2 darwin/amd64。
package main import ( "fmt" ) func testDefer() (i int) { defer func() { fmt.Println(i) i = 4 }() return 2 } func main() { testDefer() } 