defer
语句使用例子如下:
file, err := os.Open(dataFile)
if err != nil {
...
}
defer file.Close()
defer
语句可以看成是把指定的函数压入“堆栈”,当外面函数退出时(即使发生panic
),“堆栈”内的函数会依次弹出执行。这样可以防止资源泄露。
defer
语句使用例子如下:
file, err := os.Open(dataFile)
if err != nil {
...
}
defer file.Close()
defer
语句可以看成是把指定的函数压入“堆栈”,当外面函数退出时(即使发生panic
),“堆栈”内的函数会依次弹出执行。这样可以防止资源泄露。