duanfen9090
2013-07-22 03:40
浏览 819
已采纳

Golang语法错误:写入文件时出现意外的EOF

Getting a syntax error: unexpected EOF on the last line of code which is a bracket. It has something to do with File IO because the JSON code worked before I added that in

b, err := json.Marshal(gfjson)
    if err != nil {
        panic(err)

    filename := ".gfjson"

    f, err := os.Create(filename)
    if err != nil {
        panic(err)
    }
    // close file on exit and check for returned error
    defer func() {
        if err := f.Close(); err != nil {
            panic(err)
        }
    }()


    if _, err := f.Write(b); err != nil {
        panic(err)
    }

    fmt.Fprintf(os.Stdout, "GFJSON file successfully created.
")
}

图片转代码服务由CSDN问答提供 功能建议

在括号的最后一行代码中出现语法错误:意外的EOF 。 它与File IO有关,因为在我在

  b,err:= json.Marshal(gfjson)
中添加之前,JSON代码起作用了,如果err!= nil  {
 panic(err)
 
 filename:=“ .gfjson” 
 
f,err:= os.Create(filename)
 if err!= nil {
 panic(err)
} \  n //关闭时关闭文件,并检查返回的错误
延迟func(){
如果err:= f.Close();  err!= nil {
 panic(err)
} 
}()
 
 
 if _,err:= f.Write(b);  err!= nil {
 panic(err)
} 
 
 fmt.Fprintf(os.Stdout,“成功创建GFJSON文件。
”)
} 
   \  n 
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • doufu6423 2013-07-22 03:54
    已采纳

    You are missing a closing bracket on line 4 after the panic.

    if err != nil {
        panic(err)
    }
    

    Your code actually compiles fine for me, but this is because you have a random closing brace at the end balancing it out. I assume from you indentations that the close brace at the end is then end of your function and only the panic should be part of the if statement.

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题