func FileFill(filename string) error { f, err := os.Open("file.txt") if err != nil { panic("File not opened") } defer f.Close() for i := 0; i < 10; i++ { //I know this should have some error checking here f.WriteString("some text \n") } return nil}嗨,我是学习Go的新手,我一直在尝试一些小用例来更好地学习它。我创建这个函数是用“一些文本”填充文件的10行。当我尝试使用错误检查进行此操作时,程序在写字符串行处崩溃。我在这里误解了一些基本的东西吗?我看了文档,我不明白为什么它不喜欢这个。谢谢。
2 回答
倚天杖
TA贡献1828条经验 获得超3个赞
需要使用具有写入或追加权限的函数:
package main
import "os"
func main() {
f, err := os.Create("file.txt")
if err != nil {
panic(err)
}
defer f.Close()
for range [10]struct{}{} {
f.WriteString("some text\n")
}
}
https://golang.org/pkg/os#Create
智慧大石
TA贡献1946条经验 获得超3个赞
// Choose the permit you want with os.OpenFile flags
file, err := os.OpenFile(path, os.O_RDWR, 0644)
// or crate new file if not exist
file, err = os.OpenFile(path, os.O_RDWR|os.O_CREATE, 0755)
// or append new data into your file with O_APPEND flag
file, err = os.OpenFile(path, os.O_APPEND, 0755)
文档: https://pkg.go.dev/os#OpenFile
- 2 回答
- 0 关注
- 68 浏览
添加回答
举报
0/150
提交
取消