/**
golang defer
*/
package main
import (
"fmt"
)
var p = fmt.Println
var pf = fmt.Printf
func main() {
defer fmt.Println("---------finally------------")
p("--------start----------")
defer fmt.Println("---------finally2------------")
i := 0
for ; i < 5; i++ {
defer fmt.Println("---------finally:", i, "------------")
}
p("--------over----------")
}
結果:
--------start----------
--------over----------
---------finally: 4 ------------
---------finally: 3 ------------
---------finally: 2 ------------
---------finally: 1 ------------
---------finally: 0 ------------
---------finally2------------
---------finally------------
defer 是啥就猜猜吧!