以下代码在进行文件写入时,报了一个panic: write defer-file.txt: bad file descriptor错误
func writeString(){
var f *os.File
var err error
if checkFileIsExist(path){
f,err = os.OpenFile(path,os.O_APPEND,0666)
fmt.Println("文件存在")
}else{
f,err = os.Create(path)
fmt.Println("文件不存在")
}
check(err)
n,err := io.WriteString(f,content)
check(err)
fmt.Printf("write %d bytes\n",n)
}
解决办法:OpenFile的flag添加一个os.O_WRONLY flag
f,err = os.OpenFile(path,os.O_APPEND|os.O_WRONLY,0666)
参考: https://stackoverflow.com/questions/33851692/golang-bad-file-descriptor