Golang中文件的基本操作

举报
liuzhen007 发表于 2021/07/25 17:02:25 2021/07/25
【摘要】 目录前言正文结尾 前言前两天,我们重点介绍了 Golang 中的通道——chan,相信大家已经基本上掌握了通道的使用技巧。今天我们就来聊一聊文件的一些基本操作。 正文说到文件操作,应该是任何一种语言的基本操作。那么,Golang 是如何操作文件的呢?操作文件,我们可以理解成对数据库的操作————增、删、改、查,它们分别对应创建文件、删除文件、修改文件内容、查询文件信息。接下来,我们就分别从这...

目录

  • 前言
  • 正文
  • 结尾

前言

前两天,我们重点介绍了 Golang 中的通道——chan,相信大家已经基本上掌握了通道的使用技巧。今天我们就来聊一聊文件的一些基本操作。

正文

说到文件操作,应该是任何一种语言的基本操作。那么,Golang 是如何操作文件的呢?

操作文件,我们可以理解成对数据库的操作————增、删、改、查,它们分别对应创建文件、删除文件、修改文件内容、查询文件信息。

接下来,我们就分别从这四个维度介绍 Golang 是如何操作文件的。

创建文件

首先,我们来创建一个文件 test.txt。

代码实例:

package main

import (
	"fmt"
	"os"
)
func main() {
   	fmt.Println("我们创建一个文本文件test.txt")
	if _, err := os.Create("test.txt"); err == nil {
		fmt.Println("文件创建成功。。。")
	}
}

代码执行结果:

我们创建一个文本文件test.txt
文件创建成功。。。

通过结果,我们可以看到,我们成功创建了一个名为 test.txt 的文本文件。

修改文件

接下来,我们在上边的代码基础上继续完善,实现对文件的修改。我们新创建的 test.txt 的文本文件的内容肯定是空的,什么信息都没有,我们现在写一些内容进去。

代码实例:

package main

import (
	"fmt"
	"os"
)
func main() {
   	fmt.Println("我们创建一个文本文件test.txt")
	if f, err := os.Create("test.txt"); err == nil {
		fmt.Println("文件创建成功。。。")
		_, err=f.Write([]byte("将要写入文本的内容:这段文字会被写入test.txt中"))
		if err == nil {
			fmt.Println("文件写入内容成功。。。")
		}
	}
}

代码执行结果:

我们创建一个文本文件test.txt
文件创建成功。。。
文件写入内容成功。。。

通过执行结果,我们知道我们把相应的信息写入到 test.txt 文件中了。

查询文件

上面的执行结果是说明相应的内容写入到了文件中,但是不够直观。接下来,我们查询一下文件的内容,进一步确认文件中写入了相应的内容。

代码实例:

package main

import (
	"fmt"
	"os"
	"io/ioutil"
)
func main() {
   	fmt.Println("我们创建一个文本文件test.txt")
	if f, err := os.Create("test.txt"); err == nil {
		fmt.Println("文件创建成功。。。")
		_, err=f.Write([]byte("将要写入文本的内容,这段文字会被写入test.txt中"))
		if err == nil {
			fmt.Println("文件写入内容成功。。。")
		}
		bytes, err := ioutil.ReadFile("test.txt")
                if err == nil {
			fmt.Println("test.txt文件的内容:",string(bytes))
		}

	}
}

代码执行结果:

我们创建一个文本文件test.txt
文件创建成功。。。
文件写入内容成功。。。
test.txt文件的内容: 将要写入文本的内容,这段文字会被写入test.txt中

结果证明,上一步确实修改了文件的内容,同时,这一步也实现了查询文件内容的功能。

删除文件

这个相对就简单多了,直接看代码吧。

代码实例:

package main

import (
	"fmt"
	"os"
	"io/ioutil"
)
func main() {
   	fmt.Println("我们创建一个文本文件test.txt")
	if f, err := os.Create("test.txt"); err == nil {
		fmt.Println("文件创建成功。。。")
		_, err=f.Write([]byte("将要写入文本的内容,这段文字会被写入test.txt中"))
		if err == nil {
			fmt.Println("文件写入内容成功。。。")
		}
		bytes, err := ioutil.ReadFile("test.txt")
    	if err == nil {
			fmt.Println("test.txt文件的内容:",string(bytes))
		}
		err = os.Remove("test.txt")
		if err == nil {
			fmt.Println("文件删除成功!")
		}
	}
}

代码执行结果:

我们创建一个文本文件test.txt
文件创建成功。。。
文件写入内容成功。。。
test.txt文件的内容: 将要写入文本的内容,这段文字会被写入test.txt中
文件删除成功!

结尾

好了,现在我们已经实现了 Golang 对文件的增、删、改、查,对文件的基本操作也基本掌握了。
今天就到这里吧,晚安。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。