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