Go语言实践技巧(5)——defer

defer语句使用例子如下:

file, err := os.Open(dataFile)
if err != nil {
    ...
}
defer file.Close()

defer语句可以看成是把指定的函数压入“堆栈”,当外面函数退出时(即使发生panic),“堆栈”内的函数会依次弹出执行。这样可以防止资源泄露。

发表评论

邮箱地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.