ronnie
2022-10-14 1504bb53e29d3d46222c0b3ea994fc494b48e153
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
 
package http_test
 
import (
   "fmt"
   "log"
   "net/http"
   "sync"
)
 
type countHandler struct {
   mu sync.Mutex // guards n
   n  int
}
 
func (h *countHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
   h.mu.Lock()
   defer h.mu.Unlock()
   h.n++
   fmt.Fprintf(w, "count is %d\n", h.n)
}
 
func ExampleHandle() {
   http.Handle("/count", new(countHandler))
   log.Fatal(http.ListenAndServe(":8080", nil))
}