www.golangweb.com昨日通过工信部审核,正式挂牌Go 语言社区域名;
原域名bbs.strawberryo2o.com也同样可以使用。请互相转告。
以下干货
----------------------------------------------------------------------------------------------------
怎么在Go语言程序退出的时候做一些事
在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)
}