package main import ( "log" "net/http" "time" ) type timeHandler struct { format string } func (th *timeHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { tm := time.Now().Format(th.format) w.Write([]byte("The time is: " + tm)) } func handler(w http.ResponseWriter, r *http.Request) { w.Write([]byte("OK!")) } func main() { /* // создаем свой serveMux serveMux := http.NewServeMux() serveMux.HandleFunc("/", handler) // Запускаем веб-сервер на порту 8080 с нашим serveMux // (в прошлых примерах был nil) err := http.ListenAndServe(":8080" serverMux) if err != nil { fmt.Println("Ошибка запуска сервера:", err) } */ mux := http.NewServeMux() th1123 := &timeHandler{format: time.RFC1123} mux.Handle("/time/rfc1123", th1123) th3339 := &timeHandler{format: time.RFC3339} mux.Handle("/time/rfc3339", th3339) log.Println("Listening...") http.ListenAndServe(":3000", mux) }