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.

相关推荐
不一样的故事126几秒前
Linux 系统网络配置
服务器·网络·php
白毛大侠6 分钟前
LVS 完全入门:从零理解 Linux 虚拟服务器的三种模式
linux·服务器·lvs
ulias2128 分钟前
Linux中的开发工具
linux·运维·服务器·开发语言·c++·windows
wanhengidc11 分钟前
服务器如何防范爬虫攻击?
运维·服务器·网络·爬虫·游戏·智能手机
geovindu20 分钟前
go: Model,Interface,DAL ,Factory,BLL using mysql
开发语言·mysql·设计模式·golang·软件构建
mobai720 分钟前
使用pyang将yang模型转换为xml
xml·运维·服务器
TG_yunshuguoji34 分钟前
腾讯云代理商:腾讯云部署OpenClaw 如何接入自定义大模型?
服务器·云计算·腾讯云·openclaw
洛菡夕37 分钟前
LVS+Keepalived高可用群集
运维·服务器·lvs
Heart_to_Yang42 分钟前
TPLink路由器虚拟专用网端口映射故障问题,端口转发无效
运维·服务器·网络
艾莉丝努力练剑43 分钟前
【Linux线程】Linux系统多线程(六):<线程同步与互斥>线程同步(上)
java·linux·运维·服务器·c++·学习·线程