Golang 用切片读写文件
package main
import (
"fmt"
"os"
)
func main() {
// 打开文件
file, err := os.OpenFile("example.txt", os.O_RDWR|os.O_CREATE, 0666)
if err != nil {
panic(err)
}
defer file.Close()
// 读取文件内容到切片
content, err := readFileToSlice(file)
if err != nil {
panic(err)
}
// 显示切片内容
fmt.Println("文件内容:", content)
// 写入新内容到文件
newContent := []byte("Hello, Golang!")
_, err = file.WriteAt(newContent, 0)
if err != nil {
panic(err)
}
}
// 将文件读取到字节切片
func readFileToSlice(file *os.File) ([]byte, error) {
info, err := file.Stat()
if err != nil {
return nil, err
}
size := info.Size()
content := make([]byte, size)
_, err = file.Read(content)
if err != nil {
return nil, err
}
return content, nil
}
这段代码展示了如何在Go语言中使用切片来读取和写入文件。首先,它打开(或创建)一个名为"example.txt"的文件,然后将文件内容读取到一个字节切片中,并打印出来。接着,它将新内容写入文件,从文件的开头开始。这是一个简单的文件操作例子,适合初学者学习和理解文件操作和切片的使用。
评论已关闭