Python、Java的写文件默认函数操作默认是覆盖的,而是Golang的OpenFile函数写入默认是追加的

os.O_TRUNC 覆盖写入,不加则追加写入

覆盖写入实例:

func WriteToFile(fileName string, content string) error {
   f, err := os.OpenFile(fileName, os.O_WRONLY|os.O_TRUNC|os.O_CREATE, 0644)
   if err != nil {
      fmt.Println("file create failed. err: " + err.Error())
   } else {
      // offset
      //os.Truncate(filename, 0) //clear
      n, _ := f.Seek(0, os.SEEK_END)
      _, err = f.WriteAt([]byte(content), n)
      fmt.Println("write succeed!")
      defer f.Close()
   }
return err
}