章节

14.5 一次性写入文件

本篇学习 os.WriteFile 的一次性写入方式,并能把字符串内容保存到文件中。

一次性写入文件

概念说明

os.WriteFile 会把指定内容一次性写入文件。
如果文件不存在,它会根据权限创建文件;如果文件已存在,它会覆盖原内容。

这种方式适合写入小文件。
如果需要追加写、分批写或控制打开模式,应使用 os.OpenFile

语法/规则

  1. 使用 os.WriteFile(path, data, perm) 写入文件。
  2. data 类型是 []byte
  3. perm 是文件权限,例如 0644
  4. 文件已存在时会覆盖原内容。
  5. 写入后要检查 err

一次性写入示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
package main

import (
	"fmt"
	"os"
)

func main() {
	path := "output.txt"
	err := os.WriteFile(path, []byte("hello file"), 0644) // 一次性写入文件
	if err != nil {
		panic(err)
	}
	defer os.Remove(path)

	data, err := os.ReadFile(path) // 读回来验证写入结果
	if err != nil {
		panic(err)
	}

	fmt.Println(string(data))
}

输出结果:

1
hello file

常见错误

  1. 以为 os.WriteFile 默认追加内容,实际它会覆盖文件。
  2. 忘记把字符串转换成 []byte
  3. 忽略写入错误,导致以为文件已经保存成功。
本文禁止转载
使用 Hugo 构建
主题 StackJimmy 设计 由 Hobin 魔改
最近构建时间:2026-04-17 19:07:48 CST
载入天数...载入时分秒...
发表了 1 篇文章 · 发表了 152 篇笔记 · 总计 18 万 0 千字