package main import ( "flag" "io" "log" "net/http" ) type handler struct{} func (h *handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "text/plain") io.WriteString(w, "Hello world!") } func main() { port := flag.String("port", "8080", "Default localhost port") flag.Parse() mux := http.NewServeMux() mux.Handle("/{$}", &handler{}) srv := http.Server{ Addr: ":" + *port, Handler: mux, } log.Printf("Serving on port %s...\n", *port) log.Fatal(srv.ListenAndServe()) }