【发布时间】:2021-09-15 18:05:16
【问题描述】:
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 行。当我通过错误检查尝试此操作时,程序在 WriteString 行出现恐慌。我在这里误解了一些基本的东西吗?我查看了文档,但无法弄清楚为什么它不喜欢这个。谢谢。
【问题讨论】:
-
File.WriteString()不会恐慌,但它会返回一个error,您应该检查它。如果您感到恐慌,请提供输出,以便我们查看恐慌所在。 -
另请注意
os.Open()打开文件仅供读取,因此您无法写入。使用os.Create()打开文件以进行写入。 -
感谢@izca 的解释