Golang Go语言函数调用变量自动回收问题

发布于 1周前 作者 yuanlaile 来自 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

回到顶部