Golang 如何以字符串形式逐行读取文件

Golang 如何以字符串形式逐行读取文件

使用 bufio包的Scanner 来逐行读取文件。假设文本文件名为sample.txt,并且文件中的内容如下:

GO语言是一种静态编译的编程语言,它是一种开源语言。它由Rob Pike、Ken Thompson和Robert Grieserner在Google设计。它也被称为Golang。Go语言是一种面向大规模复杂软件构建的通用编程语言。

package main
  
import (
    "bufio"
    "fmt"
    "log"
    "os"
)
  
func main() {
  
    // os.Open()以只读模式打开特定文件,返回os类型的指针。
    file, err := os.Open("sample.txt")
  
    if err != nil {
        log.Fatalf("failed to open")
  
    }
  
    // bufio.NewScanner()函数被调用,其中os.File对象作为参数传递,并返回一个bufio.Scanner对象,该对象进一步用于bufio.Scanner.Split()方法。
    scanner := bufio.NewScanner(file)
  
    // bufio.ScanLines作为bufio.Scanner.Split()方法的输入,然后使用bufio.Scanner.Scan()方法向前扫描到每个新行。
    scanner.Split(bufio.ScanLines)
    var text []string
  
    for scanner.Scan() {
        text = append(text, scanner.Text())
    }
  
    // 在os.File对象上调用os.File.Close()方法来关闭文件
    file.Close()
  
    // 然后循环通过并打印每个切片值。
    for _, each_ln := range text {
        fmt.Println(each_ln)
    }
} 
Go

输出:

Golang 如何以字符串形式逐行读取文件

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册