我们可以使用defer关键字延迟代码的执行,相当于我们把代码放入一个stack中,遵循last in first out的原则输出代码。
package mainimport ("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