package main import ( "fmt" "net/http" ) func main() { port := ":8080" http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Welcome to my website!") }) err := http.ListenAndServe(port, nil) if err != nil { fmt.Println("Error starting server: ", err) } }
package main import ( "fmt" "net/http" ) type greetingHandler string func (g greetingHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, %s!", g) } func main() { port := ":8080" http.Handle("/greeting", greetingHandler("World")) err := http.ListenAndServe(port, nil) if err != nil { fmt.Println("Error starting server: ", err) } }In this example, we create a custom handler type named greetingHandler that implements the ServeHTTP() method. We define a new route "/greeting" that uses our custom handler and passes in "World" as the greeting message. When a request is made to "/greeting", our handler will write "Hello, World!" to the response writer. In both examples, we use the net/http package library to create an HTTP server, define route handlers, and start the server using the Server.Serve() method.