我们可以使用defer关键字延迟代码的执行,相当于我们把代码放入一个stack中,遵循last in first out的原则输出代码。
package main
import (
"fmt"
)
func myDefer() {
for i := 0; i < 5; i++ {
defer fmt.Print(i)
}
}
func main() {
defer fmt.Println("World")
defer fmt.Println("One")
defer fmt.Println("Two")
fmt.Println("Hello")
myDefer()
}
代码输出为:
Hello
43210Two
One
World