我正在按照书中的例子。它假设在键入http://localhost:8080/xxx时增加计数,并在键入http://localhost:8080/count
时返回计数代码在
之下var count int
var mu sync.Mutex
func main() {
http.HandleFunc("/", handler)
http.HandleFunc("/count", counter)
log.Fatal(http.ListenAndServe("localhost:8080", nil))
}
func handler(w http.ResponseWriter, req *http.Request) {
mu.Lock()
fmt.Fprintf(w, "Count before: %d\n", count)
count++
fmt.Fprintf(w, "Count after: %d\n", count)
mu.Unlock()
fmt.Fprintf(w, "URL.Path = %q\n", req.URL.Path)
}
func counter(w http.ResponseWriter, req *http.Request) {
mu.Lock()
fmt.Fprintf(w, "Count: %d\n", count)
mu.Unlock()
}
但是,当我打开http://localhost:8080并刷新时,计数每次增加2而不是1.这是Chrome中的某些功能吗?
答案 0 :(得分:3)
Chrome会自动尝试获取图标,再次增加计数器
您可以按F12并在加载页面之前转到“网络”标签来查看:
(这是Chrome开发工具的一部分:https://developers.google.com/web/tools/chrome-devtools/)
为了测试那些确切的代码,我建议使用curl:curl -XGET http://localhost:8080/