代码1
https://play.golang.org/p/a0I6kiIYz6i
package main
import "fmt"
var m = 0
func main() {
//defer 方法中的参数方法会被执行时候县渲染。 这个时候返回的是0 而不是1
defer doSome(getValue())
m = 1
fmt.Println("end")
}
func doSome(value int) {
fmt.Println(value) // 0
}
func getValue() int {
return m
}
代码2
https://play.golang.org/p/HetlvwuVrT5
package main
import "fmt"
var m = 0
func main() {
defer doSome()
m = 1
fmt.Println("end")
}
func doSome() {
fmt.Println(m) // 1
}