-3
不能創建一個服務器當試圖ListenAndServer
一展身手程序內我得到一個錯誤:去:在走常規
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
http.HandleFunc("/static/", myHandler)
go func() {
http.ListenAndServe("localhost:80", nil)
}()
fmt.Printf("we are here")
resp, _ := http.Get("localhost:80/static")
ans, _ := ioutil.ReadAll(resp.Body)
fmt.Printf("response: %s", ans)
}
func myHandler(rw http.ResponseWriter, req *http.Request) {
fmt.Printf(req.URL.Path)
}
錯誤:
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x48 pc=0x401102]
goroutine 1 [running]:
panic(0x6160c0, 0xc0420080a0)
c:/go/src/runtime/panic.go:500 +0x1af
main.main()
C:/gowork/src/exc/14.go:20 +0xc2
exit status 2
所有我想要的是創造一個http
服務器。然後測試它並從代碼連接到它。 Go有什麼問題? (或我嗎?)
'Get' URL應該是:'http:// localhost:80/static'。調試而不是忽略你應該處理的錯誤。 –
如果我忽略錯誤。爲什麼要去恐慌?如果我忽略錯誤,總是會發生什麼? – Aminadav
取決於。在這種情況下,由於無效的'http.Get'調用,'resp.Body'不存在,所以拋出錯誤。與其他語言不同,Go不會引發異常,但如果函數返回一個錯誤,我們應該處理一個錯誤。 –