Go搭建http服务测试-统计访问次数(VSCode for mac)
package main
import (
"fmt"
"log"
"net/http"
"sync"
)
func main() {
http.HandleFunc("/", handler_func)
http.HandleFunc("/count", counter_func)
log.Fatal(http.ListenAndServe("localhost:8000", nil))
}
var mu sync.Mutex
var count int
func handler_func(w http.ResponseWriter, r *http.Request) {
mu.Lock()
count++
mu.Unlock()
fmt.Fprintf(w, "URL.Path=%q\n", r.URL.Path)
}
func counter_func(w http.ResponseWriter, r *http.Request) {
mu.Lock()
fmt.Fprintf(w, "Count %d\n", count)
mu.Unlock()
}
运行服务后,访问本地的URL结果如下
![在这里插入图片描述](https://img-blog.csdn.net/20181024104811646?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3h1YW53ZW5jaGFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
![在这里插入图片描述](https://img-blog.csdn.net/20181024104826526?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3h1YW53ZW5jaGFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)