Go之如何高效地读写文件?

文章目录

  • 1. 读取文件
  • 2. 写入文件
      • 2.1 string类型写入
      • 2.2 []byte类型写入


1. 读取文件

//读取文件
func readFile(filepath string) string {
   //打开文件
   fi, err := os.Open(filepath)
   checkError(err)

   //读取内容
   fd, err := ioutil.ReadAll(fi)
   errC := fi.Close()
   checkError(errC)
   return string(fd)
}

2. 写入文件

推荐使用[]byte类型写入,速度更快

2.1 string类型写入

//写入文件
func writeStringToFile(filepath, content string) {
   //打开文件,没有则创建,有则append内容
   w1, error := os.OpenFile(filepath, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644)
   checkError(error)
   
   _, err1 := w1.Write([]byte(content))
   checkError(err1)

   errC := w1.Close()
   checkError(errC)
}

2.2 []byte类型写入

//写入文件
func writeBytesToFile(filepath string, content []byte) {
   //打开文件,没有此文件则创建文件,将写入的内容append进去
   w1, error := os.OpenFile(filepath, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644)
   checkError(error)

   _, err1 := w1.Write(content)
   checkError(err1)

   errC := w1.Close()
   checkError(errC)
}

你可能感兴趣的:(Go基础学习)