package main import ( "fmt" "net/http" ) func handleHome(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "Try /ok, /gone and /locked.") } func handleOK(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "All good.") } func handleGone(w http.ResponseWriter, r *http.Request) { http.NotFound(w, r) } func handleLocked(w http.ResponseWriter, r *http.Request) { http.Error(w, "Locked.", http.StatusForbidden) } func main() { http.HandleFunc("GET /{$}", handleHome) http.HandleFunc("GET /ok", handleOK) http.HandleFunc("GET /gone", handleGone) http.HandleFunc("GET /locked", handleLocked) fmt.Println("Server running at http://localhost:8080") fmt.Println("Press Ctrl+C to stop it.") err := http.ListenAndServe("localhost:8080", nil) if err != nil { fmt.Println("Server stopped:", err) } }