11

私はgolangが初めてで、現在このチュートリアルとソースコードをここでフォローしています - http://golang.org/doc/articles/wiki/part2.go

このファイルを作成した後、私は取得しています

calvin$ ./mywebwiki2 
2012/07/23 17:12:59 http: panic serving [::1]:58820: runtime error: invalid memory address or nil pointer dereference
/usr/local/go/src/pkg/net/http/server.go:576 (0x3f202)
    _func_003: buf.Write(debug.Stack())
/private/tmp/bindist454984655/go/src/pkg/runtime/proc.c:1443 (0x10c79)
/private/tmp/bindist454984655/go/src/pkg/runtime/runtime.c:128 (0x11745)
/private/tmp/bindist454984655/go/src/pkg/runtime/thread_darwin.c:418 (0x148b5)
/Users/calvin/work/gowiki/mywebwiki2.go:33 (0x2248)
    viewHandler: fmt.Fprintf(w, "<h1>%s</h1><div>%s</div>", p.Title, p.Body)
/usr/local/go/src/pkg/net/http/server.go:690 (0x331ae)
    HandlerFunc.ServeHTTP: f(w, r)
/usr/local/go/src/pkg/net/http/server.go:926 (0x34030)
    (*ServeMux).ServeHTTP: mux.handler(r).ServeHTTP(w, r)
/usr/local/go/src/pkg/net/http/server.go:656 (0x32fc1)
    (*conn).serve: handler.ServeHTTP(w, w.req)
/private/tmp/bindist454984655/go/src/pkg/runtime/proc.c:271 (0xed7f)
2012/07/23 17:12:59 http: panic serving [::1]:58821: runtime error: invalid memory address or nil pointer dereference

この明らかなメモリ破損を引き起こすために私が何を間違っていたのか、何か考えはありますか?

4

2 に答える 2

16

行 36 に無視されたエラーがあります。このエラーは、URL を使用してブラウザーでテストしたか、 open .txt: no such file or directoryURL を使用してブラウザーでテストしたかを示している可能性があります。後者の場合、このサンプル コードが機能するには、作業ディレクトリにファイル "foo.txt" が必要です。その後、コードはローカルで機能するようです。http://localhost:8080/view/open foo.txt: no such file or directoryhttp://localhost:8080/view/foo

誰かが、無視されたエラー値に関する問題を埋めるべきでしょう。

于 2012-07-23T11:37:59.060 に答える