linux

Linux环境下如何用Golang处理文件

小樊
40
2025-08-21 13:59:02
栏目: 编程语言

在Linux环境下使用Golang处理文件,你可以使用标准库中的"io/ioutil"、“os”、"bufio"等包。下面是一些基本的示例:

  1. 读取文件内容:
package main

import (
	"fmt"
	"io/ioutil"
)

func main() {
	data, err := ioutil.ReadFile("example.txt")
	if err != nil {
		fmt.Println("Error reading file:", err)
		return
	}
	fmt.Println("File content:", string(data))
}
  1. 写入文件内容:
package main

import (
	"fmt"
	"io/ioutil"
)

func main() {
	content := "Hello, World!"
	err := ioutil.WriteFile("output.txt", []byte(content), 0644)
	if err != nil {
		fmt.Println("Error writing file:", err)
		return
	}
	fmt.Println("File written successfully")
}
  1. 逐行读取文件内容:
package main

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

func main() {
	file, err := os.Open("example.txt")
	if err != nil {
		log.Fatal(err)
	}
	defer file.Close()

	scanner := bufio.NewScanner(file)
	for scanner.Scan() {
		fmt.Println(scanner.Text())
	}

	if err := scanner.Err(); err != nil {
		log.Fatal(err)
	}
}
  1. 追加内容到文件:
package main

import (
	"fmt"
	"os"
)

func main() {
	file, err := os.OpenFile("output.txt", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
	if err != nil {
		fmt.Println("Error opening file:", err)
		return
	}
	defer file.Close()

	_, err = file.WriteString("New content\n")
	if err != nil {
		fmt.Println("Error writing to file:", err)
		return
	}

	fmt.Println("Content appended successfully")
}

这些示例展示了如何在Linux环境下使用Golang处理文件。你可以根据自己的需求修改这些示例,以实现更复杂的文件操作。

0
看了该问题的人还看了