Creando nuestra primera aplicación web en Golang.

por Carlos
0 comentario

Hola a tod@s, en este nuevo artículo veremos como crear una aplicación web utilizando Golang/Go. Para desplegar nuestro código en Golang utilizando un servidor web, utilizaremos el módulo gorilla/mux. Este es un enrutador de solicitudes liviano, además despacha las solicitudes entrantes con su controlador respectivo.

Aquí les dejo el enlace al módulo 😉 https://github.com/gorilla/mux

Para instalar el modulo antes indicado, utilizaremos la consola de comandos y los siguientes comandos:

go get -u github.com/gorilla/mux
go install github.com/gorilla/mux

El argumento -u que pasamos es para indicar “actualización”, lo usamos para obtener la última versión.

Ahora veamos nuestro archivo go.mod para revisar lo que hemos instalado.

module github.com/culturetech/helloworld

go 1.16

require github.com/gorilla/mux v1.8.0

Todo está bien, el módulo ha sido instalado correctamente y se ha agregado este mismo en el archivo go.mod

Ahora debemos debemos hacer nuestro hello world dentro de la aplicación:

#main.go

package main

import (
	"github.com/gorilla/mux"

	"log"

	"net/http"

	"io"
)

func handler(w http.ResponseWriter, r *http.Request) {
	io.WriteString(w, "Hola Mundo Culture Tech :-) \n")
	io.WriteString(w, "Hello world Culture Tech :-) \n")
}

func router() *mux.Router {
	r := mux.NewRouter()
	r.HandleFunc("/", handler)
	return r
}

func main() {
	router := router()
	log.Fatal(http.ListenAndServe(":8080", router))}

¿Qué hacen nuestras tres funciones?

func handler(w http.ResponseWriter, r *http.Request)

El controlador Mux siempre acepta dos parámetros por defecto y su tarea es resolver salida y entrada. w http.ResponseWriter espera un parámetro w con el tipo http.ResponseWriter, que es devuelto para representar algo al usuario final. r * http.Request contiene la información sobre la solicitud/petición del usuario guardado en un parámetro r.

func router() *mux.Router

La función inicializa un “enrutador” y esto lo hace con la variable r.

 r: = mux.NewRouter ().

func main()

La función main() que creamos, configura un servidor HTTP para servir localmente en el puerto 8080.

Ahora veremos como nos va con nuestra aplicación web. Para eso ejecutaremos go build y go run main.go. Si todo va bien podemos abrir un navegador e ingresamos como url: http://localhost:8080

Como podemos ver, ya tenemos nuestra primera aplicación web en Golang!!!. Si bien es un ejemplo muy básico, es necesario para conocer como funciona este lenguaje, conocer nuevos módulos e instalar. Pronto veremos como hacer ejemplos más complejos, despliegues y muchas cosas más divertidas.

Como siempre son siempre bienvenidos sus comentarios, un gran abrazo.

You may also like