虽然defer可以在函数退出的时候执行,但是也要把它放在return之前,否则不会调用到。

 

错误的示范:

res, err := Resource.open()

if err != nil {
  
return err; }
defer res.Close()