为了账号安全,请及时绑定邮箱和手机立即绑定

去写字符串函数恐慌?

去写字符串函数恐慌?

Go
婷婷同学_ 2022-09-12 16:40:34
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


查看完整回答
反对 回复 2022-09-12
?
智慧大石

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


查看完整回答
反对 回复 2022-09-12
  • 2 回答
  • 0 关注
  • 68 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信