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.

相关推荐
不会就选b9 小时前
Linux之TCP理论<1>
linux·运维·服务器
小π军10 小时前
操作系统面试题
java·linux·服务器
Android系统攻城狮11 小时前
Linux Gstreamer深度解析之gst_audio_encoder_get_frame_samples_min调用流程与实战(六十)
linux·运维·服务器·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
ttwuai12 小时前
Go后台管理系统开源项目:4个官方仓库怎么追溯和核验
开发语言·golang·开源
谢亮_vipxieliang12 小时前
Go Worker Pool 设计——从原理到生产级实现
开发语言·后端·golang
谢亮_vipxieliang12 小时前
Go Channel 高级模式——从底层原理到扇出扇入实战
java·数据库·golang
大猫会长14 小时前
调用codebuddy集成的supabase授权白屏解决方法
linux·运维·服务器
谢亮_vipxieliang14 小时前
Go WaitGroup与Once——并发同步的基石
开发语言·后端·golang
夜之眷属15 小时前
服务器被挖矿病毒入侵的排查与清理实录
运维·服务器
传人15 小时前
为什么 Xshell 中可以通过java -version查询到java 版本号码,Electerm 却查不到?
java·linux·服务器