También está mal editado, quitaron la parte en la que edita el módulo 😦
Hola mundo en Go
Introducción al Curso de Golang
¿Qué es, por qué y quienes utilizan Go?
Instalar Go en Linux
Instalar Go en Mac
Instalar Go en Windows
Nuestras primeras líneas de código con Go
Variables, funciones y documentación
Variables, constantes y zero values
Operadores aritméticos
Tipos de datos primitivos
Paquete fmt: algo más que imprimir en consola
Uso de funciones
Go doc: La forma de ver documentación
Estructuras de control de flujo y condicionales
El poder de los ciclos en Golang: for, for while y for forever
Operadores lógicos y de comparación
El condicional if
Múltiple condiciones anidadas con Switch
El uso de los keywords defer, break y continue
Estructuras de datos básicas
Arrays y Slices
Recorrido de Slices con Range
Llave valor con Maps
Structs: La forma de hacer clases en Go
Modificadores de acceso en funciones y Structs
Métodos e interfaces
Structs y Punteros
Stringers: personalizar el output de Structs
Interfaces y listas de interfaces
Concurrencia y Channels
¿Qué es la concurrencia?
Primer contacto con las Goroutines
Channels: La forma de organizar las goroutines
Range, Close y Select en channels
Manejo de paquetes y Go Modules
Go get: El manejador de paquetes
Go modules: Ir más allá del GoPath con Echo
Modificando módulos con Go
Despedida del curso
Despedida
Bonus
Cheat Sheet Go
Librerías para desarrollo web con Go
Data Science con Go
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Durante mucho tiempo, los desarrolladores de Go enfrentaron dos grandes desafíos al programar. En primer lugar, había que dividir el código dentro de la ruta del GoPath: el home, el nombre de usuario y la carpeta Go. En segundo lugar, al llevar el código a producción, especialmente cuando se requerían librerías de terceros, muchas plataformas no permitían insertar el código completo a nivel de carpeta, sino solo el binario o código de ejecución. Esto limitaba el uso de frameworks externos para la programación web en Go.
La solución llegó con la introducción de GoModules alrededor de 2018-2019. GoModules cambió las reglas del juego al simplificar la instalación de librerías de terceros y resolver los problemas iniciales de los desarrolladores de Go.
El framework Echo es una excelente herramienta para quienes deseen desarrollar aplicaciones web con Go. A continuación, te explico cómo puedes comenzar a trabajar con Echo:
Acceso al framework Echo:
Instalación de Echo:
go get
para instalar el paquete necesario, asegurando siempre trabajar con la versión más estable del repositorio:go get -u github.com/labstack/echo/v4
Trabajar con GoModules para iniciar un módulo es sencillo y viene con la ventaja de gestionar las dependencias de forma eficiente.
Iniciar un módulo:
go mod init github.com/tu-usuario/nombre-del-repositorio
Esto genera el archivo go.mod
, que lista las dependencias del proyecto.
Crear un servidor básico con Echo:
e := echo.New()
e.GET("/", func(c echo.Context) error {
return c.String(http.StatusOK, "Hello World")
})
e.Logger.Fatal(e.Start(":1323"))
go run
y verificar que el servidor responde en localhost:1323
.Modificar librerías en Go no es comúnmente recomendado, pero puede ser útil para fines educativos o de debbuging. Aquí los pasos básicos:
Localizar la librería:
pkg
, donde se almacenan los módulos descargados.Editar archivos:
Comprobar verificación del módulo:
go mod verify
para asegurarte de que las modificaciones no han dañado el módulo:go mod verify
Con estos pasos, ahora puedes disfrutar de la flexibilidad y eficacia que ofrecen los GoModules mientras aprendes y experimentas con el framework Echo. ¿Te has subido ya al carro de Go? Sigue explorando y experimentando para descubrir la increíble versatilidad del lenguaje Go.
Aportes 18
Preguntas 4
También está mal editado, quitaron la parte en la que edita el módulo 😦
cuando usas god mods no es necesario estar en el GOPATH, god mods nos permite inicializar y/o trabajar nuestro proyecto en cualquier parte de nuestro equipo, no importa si estas en
Documents o en algun otro sitio, esta caracteristica fue pedida por la comunidad dado que algunos no se sentian tan comodos al estar obligados a trabajar en el GOPATH
Esta es la guía de instalación, ya que no la agregaron en el apartado de recursos.
No se si a todos le habrá pasado, pero al ejecutar como está en la clase, no funcionaba, pero siguiendo la guía de esta web https://echo.labstack.com/guide/ funciona.
Quizas no lo noten, pero aqui primero ejecutan go get, luego go mod init, y en la guía de la web lo hacen al reves
package main
import (
"github.com/labstack/echo"
"net/http"
)
func main() {
// Instanciar echo
e := echo.New()
e.GET("/", func(c echo.Context) error {
return c.String(http.StatusOK, "Hello world")
})
e.Logger.Fatal(e.Start(":1323"))
}
A mi me sirvió instalar así
go install -v github.com/labstack/echo/v4@latest
Recomendación para el correcto funcionamiento
go mod init myapp
go get -u -v github.com/labstack/echo/v4
export GO111MODULE=on
Tuve que hacerlo de esta forma, para que funcionara con WSL
go get -v -u github.com/labstack/echo
Un pequeño instructivo de este video:
/** Go modules:
To install 3rd party libraries: Echo - In this case
https://echo.labstack.com/guide/
1.- Run: $ go get github.com/labstack/echo/v4
2.- If you need to watch a great change into a message server:
2.1.- Move to $GOPATH and open:
$ cd pkg/mod/github.com/labstack/echo/v4@v4.6.1
Make a copy of your echo.go => $ cp echo.go ..
Open this file (VSCode in this case): code echo.go
Look for this message and add your own code:
____ __
/ __/___/ / ___
/ _// __/ _ \/ _ \
/___/\__/_//_/\___/ %s
High performance, minimalist Go web framework
That's it! Don't forget to overwrite the change
3.- Go back to main.go of your project and run
$ go mod verify
$ go run src/main.go
**/
para la version go1.17 me funciono asi
package main
import (
"github.com/labstack/echo/v4"
"net/http"
)
func main() {
e := echo.New()
e.GET("/", func(c echo.Context) error {
return c.String(http.StatusOK, "Hello, World!")
})
e.Logger.Fatal(e.Start(":1323"))
}
Deben actualizar el vídeo ya que los comando para instalar han cambiado
tienen un curso en que se pueda hacer un software básico, como un e-commerce o un ejemplo para la web o de concurrencia?
Siento que sería de mucha utuiliad para toda la comunidad.
hasta que por fin se pudo , siempre me salia que la ruta no estaba en el main
Ya varias veces he tratado de hacer lo que dice en el video, según este artículo ya no se usa “go get”, si no, “go install” https://go.dev/doc/go-get-install-deprecation
El paralelo más sencillo para mí de los go modules es con el package.json en JS
Si les da el error
cannot find package “githubcom/labstack/echo/v4” in any of:
/usr/local/Cellar/go/1.18.2/libexec/src/github.com/labstack/echo/v4 (from $GOROOT)
Se puede usar este command
go get gopkgin/labstack/echo.v4
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?