虽然defer可以在函数退出的时候执行,但是也要把它放在return之前,否则不会调用到。
错误的示范:
res, err := Resource.open() if err != nil { return err; } defer res.Close()