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.

相关推荐
2401_858286115 分钟前
OS36.【Linux】简单理解EXT2文件系统(2)
linux·运维·服务器·数据结构·文件系统·ext2
Zach_yuan8 分钟前
程序地址空间
android·linux·运维·服务器
梁萌18 分钟前
Linux安装BiliNote
linux·运维·服务器·docker·bilinote
Roc-xb28 分钟前
解决虚拟机安装的Ubuntu20.04.6 LTS 不能复制粘贴问题
服务器·ubuntu·vmvare
无聊的小坏坏1 小时前
从零开始:C++ TCP 服务器实战教程
服务器·c++·tcp/ip
golang学习记2 小时前
Go slog 日志打印最佳实践指南
开发语言·后端·golang
TG_yunshuguoji3 小时前
亚马逊云渠道商:本地SSD缓存如何保障数据安全?
运维·服务器·安全·云计算·aws
tft36403 小时前
An attempt was made to access a socket in a way forbidden by its access
服务器·网络·tcp/ip
着迷不白4 小时前
华为堡垒机
linux·运维·服务器·centos
妮妮喔妮4 小时前
linux:查看某个文件下开启的进程占用的是哪个端口?
linux·运维·服务器