0
我正在关注构建wiki页面的golang.org教程(https://golang.org/doc/articles/wiki/#tmp_4),并且一切正常,直到我在步骤“使用net/http服务维基页面“。我在src/github.com/user/gowiki/test.txt中有一个text.txt文件,但loadPage(标题)似乎没有访问test.txt文件。任何帮助是极大的赞赏。谢谢!go loadPage问题:无效的内存地址或无指针解除引用
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
type Page struct {
Title string
Body []byte
}
func (p *Page) save() error {
filename := p.Title + ".txt"
return ioutil.WriteFile(filename, p.Body, 0600)
}
func loadPage(title string) (*Page, error) {
filename := title + ".txt"
body, err := ioutil.ReadFile(filename)
if err != nil {
return nil, err
}
return &Page{Title: title, Body: body}, nil
}
func viewHandler(w http.ResponseWriter, r *http.Request) {
title := r.URL.Path[len("/view/"):]
p, _ := loadPage(title)
fmt.Fprintf(w, "<h1>%s</h1><div>%s</div>", p.Title, p.Body)
}
func main() {
http.HandleFunc("/view/", viewHandler)
http.ListenAndServe(":8080", nil)
}
ahhh得到了它,我创建了一个if语句返回,如果有错误,并打印错误,现在看到“打开test.txt:没有这样的文件或目录”确认loadPage()找不到文件。我玩过保存文件的位置以及从哪里启动服务器,现在它已加载。谢谢! – jj1111
@ jj1111不客气。如果您满意,您应该接受我的答案。 –