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.

相关推荐
keyipatience1 小时前
IP网络层
服务器·网络·网络协议·ubuntu·http
ttwuai1 小时前
Go 后台初始化 MySQL 脚本失败怎么办?先查 DDL 还是生成配置
开发语言·mysql·golang
Discipline~Hai1 小时前
Linux网络编程03-HTTP协议
linux·运维·服务器·网络·网络协议·http·linux网络编程
CV-杨帆1 小时前
在自己的服务器上搭建VLLM 以Qwen3.5-0.8B与Qwen3.5-4B为模型基础
运维·服务器·vllm
名字还没想好☜1 小时前
Go 的 TCP 粘包与拆包:用长度前缀协议 + bufio 正确读消息
后端·tcp/ip·golang·go·php
程序猿乐锅1 小时前
【计算机组成原理 | 第八章】I/O系统
运维·服务器·网络
青瓦梦滋1 小时前
Linux高级IO
linux·运维·服务器·网络·网络协议·tcp/ip
꯭自꯭闭꯭2 小时前
达梦(DM8)安装测试
linux·运维·服务器·数据库
牢姐与蒯2 小时前
Linux进程(七).进程控制
linux·运维·服务器·ubuntu
Mr. zhihao2 小时前
Linux 内存惰性分配:从虚拟地址到物理页的深度解析
linux·服务器·内存分配