📌  相关文章
📜  golang 读取文件 - Go 编程语言(1)

📅  最后修改于: 2023-12-03 15:01:02.390000             🧑  作者: Mango

Golang 读取文件

Golang 作为一门现代化的编程语言,提供了许多简捷易懂的文件读写方法。在本文中,我们将会介绍如何使用 Golang 读取文件。

前置知识

在学习本文内容前,需具备以下基础知识:

  • 熟练掌握 Golang 基础语法
  • 了解文件基础读写操作
读取文件

Golang 提供了 io/ioutil 包,使用该包可简单快捷地读取文件内容。

下面是一个简单的例子:

package main

import (
	"fmt"
	"io/ioutil"
)

func main() {
	content, err := ioutil.ReadFile("./test.txt")
	if err != nil {
		fmt.Println(err)
	}

	fmt.Println(string(content))
}

在上面的例子中,我们引入了 io/ioutil 包并使用该包的 ReadFile 函数读取了 test.txt 文件的内容。如果读取失败,将会打印错误信息;否则打印文件内容。

注意:

  • ReadFile 函数需要传入文件路径参数(./test.txt
  • ReadFile 函数会返回文件的完整内容([]byte 类型)
  • 需要将返回的 []byte 类型转换为字符串类型(string(content)
逐行读取

如果我们需要逐行读取文件内容,可以使用 bufio 包提供的 NewScanner 方法实现。

下面是一个例子:

package main

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

func main() {
	file, err := os.Open("./test.txt")
	if err != nil {
		fmt.Println(err)
	}

	defer file.Close()

	scanner := bufio.NewScanner(file)

	for scanner.Scan() {
		fmt.Println(scanner.Text())
	}

	if err := scanner.Err(); err != nil {
		fmt.Println(err)
	}
}

在上面的例子中,我们打开了一个文件并使用 bufio 包的 NewScanner 方法创建了一个扫描器,然后使用 scanner.Scan() 方法逐行扫描该文件内容并输出。

结语

Golang 提供了许多文件操作的方法,上文所述只是其中的一部分。如果你想了解更多关于 Golang 文件读写的内容,可以查看官方文档。

我们可以看到 Golang 从语言实现上深度支持并发、内存安全等特性,使得其在简单易用、高并发部分领域都是很有竞争力的语言之一。