Golang文件操作

写文件

  os模块可以创建文件,使用fmt可以写入文件。如以下例子:

复制代码
package main

import (
	"fmt"
	"os"
)

func main() {
	// 学习 golang的文件操作
	file, err := os.Create("test.txt")
	if err != nil {
		fmt.Println("文件创建失败", err)
	}
	_, err = fmt.Fprintln(file, "hello world")
	if err != nil {
		return
	}
	err = file.Close()
	if err != nil {
		fmt.Println("文件关闭失败", err)
	}
}

读文件

读文件可以用bufio模块,利用Scanner进行逐行读取。如以下例子:

go 复制代码
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	// WriteFile()
	file, err := os.Open("test.txt")
	if err != nil {
		fmt.Println(err) // 文件打开失败
	}
	defer func(file *os.File) {
		err := file.Close()
		if err != nil {
			fmt.Println(err)
		}
	}(file)
	scanner := bufio.NewScanner(file)
	for scanner.Scan() {
		fmt.Println(scanner.Text())
	}
	if err := scanner.Err(); err != nil {
		fmt.Println(err) // 读取文件失败
	}
}
相关推荐
Bug终结者_4 分钟前
别只会写 Java 了!LangChain4J 带你弯道超车 AI 赛道
后端·langchain·ai编程
Oneslide10 分钟前
MySQL性能排查实战:大量Sleep空闲连接导致数据库写入缓慢解决方案
后端
xiaoshuaishuai825 分钟前
C# 实现百度搜索算法逆向
开发语言·windows·c#·dubbo
yuan1999726 分钟前
使用模糊逻辑算法进行路径规划(MATLAB实现)
开发语言·算法·matlab
码界奇点1 小时前
基于Spring Boot的前后端分离商城系统设计与实现
java·spring boot·后端·java-ee·毕业设计·源代码管理
蒸汽求职1 小时前
北美求职身份过渡:Day 1 CPT 的合规红线与安全入职指南
开发语言·人工智能·安全·pdf·github·开源协议
YuanDaima20481 小时前
二分查找基础原理与题目说明
开发语言·数据结构·人工智能·笔记·python·算法
fox_lht1 小时前
7.3.结构体-方法
开发语言·后端·rust
chenbin___1 小时前
检查hooks依赖的工具(转自千问)
开发语言·前端·javascript·react native·react.js
掘金者阿豪1 小时前
一个权限配置错误引发的“血案”:数据库访问控制手记
后端