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.

相关推荐
渣渣灰958728 分钟前
解决VMware上终端窗口太小问题
运维·服务器·经验分享
~|Bernard|44 分钟前
一.go语言中slice底层原理(2026-5-7)
golang·go
谙弆悕博士1 小时前
快速学C语言——第2章:编程规范与代码风格
服务器·c语言·开发语言·经验分享·程序人生·学习方法·业界资讯
线束线缆组件品替网1 小时前
Amphenol ICC RJE1Y33610162401解析:工业网络线束为何越来越重要?
运维·服务器·网络·数码相机·智能路由器·电脑·智能音箱
AIDF20263 小时前
linux 服务器网络问题排查
linux·服务器·网络
楼兰公子3 小时前
br_opi5_plus_defconfig 附带uboot
linux·运维·服务器
mzhan0174 小时前
Linux: signal: SIGALRM; alarm: ITIMER_REAL
linux·运维·服务器
~|Bernard|4 小时前
二.go语言中map的底层原理(2026-5-8)
算法·golang·哈希算法
●VON4 小时前
纯ArkUI实现7层拟物3D环形进度图:零依赖的视觉革命
服务器·3d·app·鸿蒙·von
mzhan0174 小时前
Linux: compare的直观性
java·linux·服务器