我正在尝试使用文件而不是数据库来启动和运行原型。我有一个程序,它 (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()
}
胡子哥哥
互换的青春
相关分类