在 Go 语言中,可以使用标准库中的 os 和 io 包来对文件进行操作。下面是一些常见的文件操作示例代码:

1.创建文件并写入数据

package main

import (
	"fmt"
	"os"
)

func main() {
	// 创建文件
	f, err := os.Create("test.txt")
	if err != nil {
		panic(err)
	}
	defer f.Close()

	// 写入数据
	data := []byte("hello world")
	n, err := f.Write(data)
	if err != nil {
		panic(err)
	}
	fmt.Printf("wrote %d bytes\n", n)
}

2.读取文件内容

package main

import (
	"fmt"
	"io/ioutil"
)

func main() {
	// 读取文件
	data, err := ioutil.ReadFile("test.txt")
	if err != nil {
		panic(err)
	}
	fmt.Printf("read %d bytes: %s\n", len(data), string(data))
}

3.追加数据到文件末尾

package main

import (
	"fmt"
	"os"
)

func main() {
	// 打开文件,如果文件不存在则创建
	f, err := os.OpenFile("test.txt", os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0644)
	if err != nil {
		panic(err)
	}
	defer f.Close()

	// 追加数据
	data := []byte(" from go")
	n, err := f.Write(data)
	if err != nil {
		panic(err)
	}
	fmt.Printf("appended %d bytes\n", n)
}

4.删除文件

package main

import (
	"fmt"
	"os"
)

func main() {
	// 删除文件
	err := os.Remove("test.txt")
	if err != nil {
		panic(err)
	}
	fmt.Println("file deleted")
}

5.重命名文件

package main

import (
	"fmt"
	"os"
)

func main() {
	// 重命名文件
	err := os.Rename("test.txt", "new.txt")
	if err != nil {
		panic(err)
	}
	fmt.Println("file renamed")
}

6.判断文件是否存在

package main

import (
	"fmt"
	"os"
)

func main() {
	// 判断文件是否存在
	_, err := os.Stat("test.txt")
	if os.IsNotExist(err) {
		fmt.Println("file not exists")
	} else {
		fmt.Println("file exists")
	}
}

需要注意的是,在进行文件操作时,需要确保程序对文件具有足够的权限,否则可能会导致错误的结果。此外,在使用 os 包进行文件操作时,需要注意及时关闭文件句柄以释放系统资源。