【发布时间】:2015-11-28 04:47:13
【问题描述】:
我正在按照书中的示例进行操作。它应该在输入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 中的一些功能吗?
【问题讨论】:
标签: go