Go WriteString 函数恐慌?
Go WriteString function panicking?
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 行出现恐慌。我在这里误解了一些基本的东西吗?我查看了文档,但不明白为什么它不喜欢这样。谢谢
需要使用具有写入或追加权限的函数:
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")
}
}
// 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)
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 行出现恐慌。我在这里误解了一些基本的东西吗?我查看了文档,但不明白为什么它不喜欢这样。谢谢
需要使用具有写入或追加权限的函数:
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")
}
}
// 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)