Golang Go语言函数调用变量自动回收问题
Golang Go语言函数调用变量自动回收问题
函数里打开文件没手动关闭,等函数执行完成自动回收会有什么问题?
发现之前写的一个日志类打开文件后没关闭,实际运行中没发现问题。
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
}
更多关于Golang Go语言函数调用变量自动回收问题的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html