怎么在程序退出的时候做一些事

wangxufire · · 2764 次点击
楼上正解,defer可以帮你搞定的。
#2
更多评论
stevewang
耶和华是我的牧者,我必不至缺乏。
在main函数的defer里关闭文件就可以。 ``` package main import( "os" "sync" "time" ) var ( myFile *os.File myLock sync.Mutex ) func Open(file string) error { myLock.Lock() defer myLock.Unlock() f, err := os.Open(file) if err != nil { return err } myFile = f return nil } func main() { defer func() { myLock.Lock() defer myLock.Unlock() if myFile != nil { myFile.Close() myFile = nil } }() time.Sleep(time.Second * 3) } ```
#1
这时要正常退出猜行的吧
#3