返回博客

Go 语言文件读取与处理

本文介绍使用 Go 语言读取和处理文件的方法,包括使用 bufio.Scanner 逐行读取文件内容,以及获取当前执行程序路径的方法。

Mt.r
|

使用 Go 读取和处理文件

读取文件

Go by Example: Reading Files

Read a file in Go

Go read file

package main

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

func main() {

	f, err := os.Open("list.txt")

	if err != nil {
		log.Fatal(err)
	}

	defer func(f *os.File) {
		err := f.Close()
		if err != nil {
			log.Fatalln(err)
		}
	}(f)

	scanner := bufio.NewScanner(f)

	for scanner.Scan() {

		fmt.Println(scanner.Text())
	}

	if err := scanner.Err(); err != nil {
		log.Fatal(err)
	}
}

获取当前路径

package main

import (
    "fmt"
    "os"
    "path/filepath"
)

func main() {
    ex, err := os.Executable()
    if err != nil {
        panic(err)
    }
    exPath := filepath.Dir(ex)
    fmt.Println(exPath)
}