github.com/giovannyortegon/go@v0.0.0-20220115155912-8890063f5bdd/src/WebProfesional/Introduction/webgo.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "log" 6 "net/http" 7 ) 8 9 func Hola(rw http.ResponseWriter, r *http.Request) { 10 fmt.Println("El metodo es ", r.Method) 11 fmt.Fprintln(rw, "Hola Mundo de GO Web") 12 } 13 14 func PageNotFound(rw http.ResponseWriter, rq *http.Request) { 15 http.NotFound(rw, rq) 16 } 17 18 func PagError(rw http.ResponseWriter, rq *http.Request) { 19 http.Error(rw, "Este es un Error", http.StatusConflict) 20 } 21 func Saludar(rw http.ResponseWriter, rq *http.Request) { 22 fmt.Println(rq.URL.RawQuery) 23 fmt.Println(rq.URL.Query()) 24 25 name := rq.URL.Query().Get("name") 26 age := rq.URL.Query().Get("age") 27 28 fmt.Fprintf(rw, "Hola %s tu edad es %s!!", name, age) 29 } 30 31 func main() { 32 33 mux := http.NewServeMux() 34 mux.HandleFunc("/", Hola) 35 mux.HandleFunc("/page", PageNotFound) 36 mux.HandleFunc("/error", PagError) 37 mux.HandleFunc("/saludar", Saludar) 38 39 // Router 40 /* http.HandleFunc("/", Hola) 41 http.HandleFunc("/page", PageNotFound) 42 http.HandleFunc("/error", PagError) 43 http.HandleFunc("/saludar", Saludar)*/ 44 45 // crear servidor 46 fmt.Println("El servidor esta corriendo en el puerto 1234") 47 fmt.Println("Run server: http://localhost:1234/") 48 // sock := http.ListenAndServe("localhost:1234", nil) // sin mux 49 //sock := http.ListenAndServe("localhost:1234", mux) // using mux 50 //log.Fatalln(sock) 51 52 // mejorando servidor 53 server := &http.Server{ 54 Addr: "localhost:1234", 55 Handler: mux, 56 } 57 log.Fatal(server.ListenAndServe()) 58 59 }