go 1.16 起 io/ioutil 已被弃用,其功能分别迁移至 io 和 os 包,推荐使用 os.readfile、os.writefile、os.mkdirtemp、os.createtemp、io.readall 和 io.nopcloser 替代原有函数,迁移时需更新导入包并逐项替换函数调用,确保代码兼容性和现代 go 风格的统一。

从 Go 1.16 开始,
io/ioutil
io
os
io/ioutil
io/ioutil
ioutil.ReadFile
os.ReadFile
旧写法:
data, err := ioutil.ReadFile("config.txt")新写法:
立即学习“go语言免费学习笔记(深入)”;
data, err := os.ReadFile("config.txt")os.ReadFile
[]byte
ioutil.WriteFile
os.WriteFile
旧写法:
err := ioutil.WriteFile("output.txt", data, 0644)新写法:
立即学习“go语言免费学习笔记(深入)”;
err := os.WriteFile("output.txt", data, 0644)参数完全一致:文件名、数据、权限模式。功能相同,覆盖写入文件。
ioutil.TempDir
os.MkdirTemp
旧写法:
dir, err := ioutil.TempDir("", "myapp")新写法:
立即学习“go语言免费学习笔记(深入)”;
dir, err := os.MkdirTemp("", "myapp")函数行为一致,创建临时目录。注意:第一个参数为父目录路径,传空字符串表示使用系统默认临时目录(如
/tmp
ioutil.TempFile
os.CreateTemp
旧写法:
file, err := ioutil.TempFile("", "prefix")新写法:
立即学习“go语言免费学习笔记(深入)”;
file, err := os.CreateTemp("", "prefix")os.CreateTemp
*os.File
ioutil.TempFile
ioutil.NopCloser
io.NopCloser
旧写法:
reader := ioutil.NopCloser(strings.NewReader("hello"))新写法:
立即学习“go语言免费学习笔记(深入)”;
reader := io.NopCloser(strings.NewReader("hello"))该函数从未真正属于
ioutil
io.Reader
io.ReadCloser
io
ioutil.ReadAll
io.ReadAll
旧写法:
data, err := ioutil.ReadAll(resp.Body)
新写法:
立即学习“go语言免费学习笔记(深入)”;
data, err := io.ReadAll(resp.Body)
ioutil.ReadAll
io.ReadAll
io.ReadAll
io
| ioutil 函数 | 替代函数 | 所属包 |
|---|---|---|
| @@######@@ | @@######@@ | @@######@@ |
| @@######@@ | @@######@@ | @@######@@ |
| @@######@@ | @@######@@ | @@######@@ |
| @@######@@ | @@######@@ | @@######@@ |
| @@######@@ | @@######@@ | @@######@@ |
| @@######@@ | @@######@@ | @@######@@ |
全局查找 ReadFile
使用
os.ReadFile
os
逐个替换函数名和导入
修改函数调用,并将导入从:
WriteFile
改为:
os.WriteFile
删除未使用的 os
确保编译通过,无残留导入。
测试文件读写逻辑
特别是临时文件和目录的创建路径、权限是否正常。
TempDir
os.MkdirTemp
os
TempFile
os.CreateTemp
os
基本上就这些,迁移不复杂,但能让你的代码更符合现代 Go 风格。
ReadAll
io.ReadAll
io
NopCloser
io.NopCloser
io
ioutil
grep
ioutil.
import "io/ioutil"
import (
"io"
"os"
)ioutil
os.ReadFile
io.ReadAll
io.Reader
os.CreateTemp
os.MkdirTemp
ioutil
以上就是Golang的io/ioutil库替代方案是什么 新版标准库迁移指南的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号