Go 自学:文件的写入和读取

首先,使用os.Create()函数建立一个文件。

接着,使用io.WriteString()函数将内容写入文件。

最后,使用os.ReadFile()函数读取文件内容。

注意,这里读取的文件内容是data byte,我们需要使用string()函数将其转换为字符串。

go 复制代码
package main

import (
	"fmt"
	"io"
	"os"
)

func main() {
	content := "This needs to go in a file."

	file, err := os.Create("./mygofile.txt")
	checkNilErr(err)

	length, err := io.WriteString(file, content)
	checkNilErr(err)

	fmt.Println("length is: ", length)
	defer file.Close()

	readFile("./mygofile.txt")

}

func readFile(filename string) {
	databyte, err := os.ReadFile(filename)
	checkNilErr(err)

	fmt.Println("Text data inside the file is \n", string(databyte))
}

func checkNilErr(err error) {
	if err != nil {
		panic(err)
	}
}

输出为:

length is: 27

Text data inside the file is

This needs to go in a file.

相关推荐
yyk333245 分钟前
Linux常见的基础命令
linux·运维·服务器
名字还没想好☜6 分钟前
Docker 镜像瘦身进阶:用 distroless/scratch 把 Go 服务打到 10MB,以及没 shell 怎么调试
运维·docker·容器·golang·kubernetes
lvshuocool24 分钟前
golang 多版本管理工具 -- g
开发语言·后端·golang
qq_395716171 小时前
RAID 相关操作,哪些操作会直接彻底销毁阵列数据?
服务器·网络·raid
aixingkong9211 小时前
华为麒麟9050 系列芯片深度解析:韬折叠的奇迹
服务器·人工智能·硬件架构·硬件工程
网硕互联的小客服2 小时前
服务器可以远程连接,但是为什么无法Ping通?如何解决处理?
运维·服务器
Lydia 不加班2 小时前
Windows 服务器 人大金仓 54321 端口放行完整步骤
运维·服务器·windows
海盗12343 小时前
DSH 接入 OpenCode Go 报 400 MissingSessionID:从 LLM 语义层退到 fetch 传输层的完整排障
开发语言·后端·golang
Token掘金室3 小时前
JSON模式结构化输出报错
java·服务器·json
一技安身3 小时前
【信创】外网打包ragflow镜像并导入内网银河麒麟V10arm64服务器
运维·服务器