¿Cómo crear un servidor web con Go?
Go permite la creación de servidores web para servir paginas web, servicios (APIs) y archivos. Una de las grandes ventajas es la posibilidad de sacar provecho de la concurrencia para dicho propósito.
Para la creación de servidores con Go se utiliza la librería net/http que permite crear routers básicos.
Ejemplo de creación de un servidor web con Go
El siguiente ejemplo crea un servidor web que imprime un hola mundo.
package main
import (
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Hola Mundo"))
})
http.ListenAndServe(":8000", nil)
}
Descripción del ejemplo de creación de un servidor web con Go
En el anterior ejemplo utilizamos el paquete net/http
para crear un servidor web.
Creamos una ruta mediante el método http.HandleFunc
, este recibe 2 parámetros.
- La ruta
- En la cual el servidor web va a resolver.
- Una función
- Con el código asociado a esta ruta, esta función recibe dos parámetros,
func(w http.ResponseWriter, r *http.Request)
.- http.ResponseWriter que consiste en la respuesta del server.
- *http.Request que consiste en la petición del servidor.
Dentro de la función podemos responder utilizando el writer provisto por la función.
w.Write([]byte("Hola Mundo"))
Para arrancar el server en el puerto 8000, utilizamos.
http.ListenAndServe(":8000", nil)