函数里打开文件没手动关闭,等函数执行完成自动回收会有什么问题?
发现之前写的一个日志类打开文件后没关闭,实际运行中没发现问题。
func (a *Loger) InfoLog(wireteString string,extfilename string){
var f *os.File
var err error
var filename = "info_"+extfilename + getCurDate()+".log"
if checkFileIsExist(a.path+filename) { //如果文件存在
f, err = os.OpenFile(a.path+filename, os.O_APPEND|os.O_WRONLY, os.ModeAppend) //打开文件
//fmt.Println("文件存在");
}else {
f, err = os.Create(a.path+filename) //创建文件
//fmt.Println("文件不存在");
}
check(err)
wireteString = wireteString+"\r\n"
_,err = io.WriteString(f, wireteString) //写入文件(字符串)
check(err)
//格式化用的日期是特定的,123 ( 15 ) 45 -.-lll
now_time := time.Now().Format("2006-01-02 15:04:05")
io.WriteString(f, now_time+"\r\n") //写入文件(字符串)
//fmt.Printf("写入 %d 个字节", n);
return
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.