3

syntax error: unexpected EOF在代码的最后一行得到一个括号。它与 File IO 有关,因为 JSON 代码在我添加之前就已经工作了

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.\n")
}
4

1 回答 1

1

恐慌之后,您在第 4 行缺少一个右括号。

if err != nil {
    panic(err)
}

你的代码实际上对我来说编译得很好,但这是因为你最后有一个随机的右括号来平衡它。我从你的缩进中假设最后的右括号是你的函数的结尾,只有恐慌应该是 if 语句的一部分。

于 2013-07-22T03:54:43.403 回答