温馨提示×

Golang如何在Linux中实现文件操作

小樊
34
2025-11-08 18:57:05
栏目: 编程语言

在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
	}
}
  1. 重命名文件:
package main

import (
	"fmt"
	"os"
)

func main() {
	err := os.Rename("test.txt", "new_test.txt")
	if err != nil {
		fmt.Println(err)
		return
	}
}
  1. 获取文件信息:
package main

import (
	"fmt"
	"os"
)

func main() {
	fileInfo, err := os.Stat("test.txt")
	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Printf("File name: %s\n", fileInfo.Name())
	fmt.Printf("File size: %d bytes\n", fileInfo.Size())
	fmt.Printf("File mode: %v\n", fileInfo.Mode())
}
  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.Printf("File name: %s\n", file.Name())
	}
}

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

0