go WriteFile文件追加写入(适合小文件)

go 在做文件追加写入时一般用os.OpenFile 指定 FileMode 为 os.O_APPEND. 如官方文档示例:

f, err := os.OpenFile("access.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
	if err != nil {
		log.Fatal(err)
	}
	if _, err := f.Write([]byte("appended some data\n")); err != nil {
		f.Close() // ignore error; Write error takes precedence
		log.Fatal(err)
	}
	if err := f.Close(); err != nil {
		log.Fatal(err)
	}

看起来比较繁琐, 可以利用 os.ReadFile 和 os.WriteFile 来实现追加, 当然这中先读后一起写入的方法不适合像日志系统这样的大文件, 比较适合临时的小文件.

	b, err := os.ReadFile("test.txt")
	if err != nil {
		fmt.Println(err)
	}
	b = append(b, "appended some data\n"...)
	os.WriteFile("test.txt", b, 0666)

你可能感兴趣的:(golang,服务器)