我正在尝试使用文件而不是数据库来启动和运行原型。我有一个程序,它 (1) 将现有内容从文件读取到地图,(2) 获取将内容添加到地图的 JSON POST,(3) 在退出时写入文件。首先,文件没有被创建。然后我创建了一个空文件。它没有被写入。我正在尝试读取文件,确定是否存在现有内容。如果没有现有内容,请创建一个空白地图。如果存在现有内容,请将其解组到新地图中。 func writeDB() { eventDBJSON, err := json.Marshal(eventDB) if err != nil { panic(err) } err2 := ioutil.WriteFile("/Users/sarah/go/dat.txt", eventDBJSON, 0777) if err2 != nil { panic(err2) }}func main() { dat, err := ioutil.ReadFile("/Users/sarah/go/dat.txt") if err != nil { panic(err) } if dat == nil { eventDB = DB{ events: map[string]event{}, } } else { if err2 := json.Unmarshal(dat, &eventDB); err2 != nil { panic(err2) } } router := httprouter.New() router.POST("/join", JoinEvent) router.POST("/create", CreateEvent) log.Fatal(http.ListenAndServe(":8080", router)) defer writeDB()}
2 回答

互换的青春
TA贡献1797条经验 获得超6个赞
您可以使用(*os.File).Stat()来获取包含其大小的文件的FileInfo
file, err := os.Open( filepath )
if err != nil {
// handle error
}
fi, err := file.Stat()
if err != nil {
// handle error
}
s := fi.Size()
- 2 回答
- 0 关注
- 173 浏览
添加回答
举报
0/150
提交
取消