linux

Linux下Golang如何进行文件操作

小樊
42
2025-06-29 09:05:54
栏目: 编程语言

在Linux下使用Golang进行文件操作,你可以使用标准库中的"os"和"io/ioutil"包。以下是一些基本的文件操作示例:

  1. 创建一个新文件:
package main

import (
	"fmt"
	"os"
)

func main() {
	file, err := os.Create("test.txt")
	if err != nil {
		fmt.Println(err)
		return
	}
	defer file.Close()

	_, err = file.WriteString("Hello, Golang!")
	if err != nil {
		fmt.Println(err)
		return
	}
}
  1. 打开一个现有文件:
package main

import (
	"fmt"
	"os"
)

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

	buf := make([]byte, 1024)
	n, err := file.Read(buf)
	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Printf("File content: %s\n", string(buf[:n]))
}
  1. 删除一个文件:
package main

import (
	"fmt"
	"os"
)

func main() {
	err := os.Remove("test.txt")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("File deleted successfully")
}
  1. 复制一个文件:
package main

import (
	"io/ioutil"
	"os"
)

func main() {
	srcFile, err := os.Open("source.txt")
	if err != nil {
		fmt.Println(err)
		return
	}
	defer srcFile.Close()

	destFile, err := os.Create("destination.txt")
	if err != nil {
		fmt.Println(err)
		return
	}
	defer destFile.Close()

	_, err = destFile.ReadFrom(srcFile)
	if err != nil {
		fmt.Println(err)
		return
	}
}
  1. 遍历目录中的文件:
package main

import (
	"fmt"
	"io/ioutil"
	"os"
)

func main() {
	files, err := ioutil.ReadDir(".")
	if err != nil {
		fmt.Println(err)
		return
	}

	for _, file := range files {
		fmt.Println(file.Name())
	}
}

这些示例展示了如何在Linux下使用Golang进行基本的文件操作。你可以根据需要修改这些示例以满足你的需求。

0
看了该问题的人还看了