Ir al contenido principal

Entradas

Mostrando las entradas que coinciden con la búsqueda de go

gRPC con Go

Hoy veremos un ejemplo de uso de gRPC con Go . Requisitos: Tener Go instalado.  Tener Protoc instalado. Listamos la versión de Go instalada: $ go version En caso de no tener instalado Protoc, podemos hacer lo siguiente. Abrimos una terminal y tecleamos: $ winget install protobuf Listamos la versión instalada: $ protoc -- version Con esto hemos validado las herramientas necesarias. Antes de hacer nada, vamos a recordando un poco sobre los cuatro modos en que gRPC puede enviar y recibir datos: Unario: Funciona mediante un ciclo de solicitud y respuesta, donde el cliente envía una solicitud y el servidor devuelve una respuesta.  Transmisión del servidor: Cuando solo el servidor envía un flujo de datos al cliente.  Transmisión del cliente: Cuando solo el cliente envía un flujo de datos al servidor.  Bidireccional: Cuando tanto el servidor como el cliente se envían datos mutuamente de forma simultánea. Esto es importante saber, ...

Creando proyectos con Go

  Desde versiones posteriores a la 1.11 la forma de crear proyectos es la siguiente: 1. Crear un directorio y ubicarse en el: $ mkdir holamundo $ cd holamundo 2. Verificar la versión de Go instalada: $ go version Nosotros contamos con esta versión: go version go1 .25.4 3. Inicializamos el módulo: $ go mod init example.com\holamundo 4. Eso creará un módulo: $ go.mod 5. Creamos un programa main.go con el siguiente contenido: package main import "fmt" func main() { fmt.Println( "¡Hola, mundo en Go!" ) } La estructura del proyecto lucirá así: holamundo / go . mod main . go 6. Ejecutamos el programa: $ go run main . go Salida: ¡ Hola, mundo en Go ! Instalando dependencias con Go Estos son los comandos necesarios: go mod init : inicializa un módulo  go get : instala dependencias Ejemplo: Instalar una dependencia de Gorilla: $ go get github . com / gorilla / mu...

Creando proyectos Go con Go-Blueprint

Go-Blueprint ,llanamente, es una herramienta que nos permite crear proyectos con Go . Desde la línea de comandos podremos armar un proyecto Go , además de agregarle funcionalidades. Como el hecho de integrar, por ejemplo, el framework Fiber , Gin, Gorilla/mux, configuración Docker , conexión a PostgeSQL a nuestro proyecto, entre otras cosas más. La forma de instalarlo es la siguiente: $ go install github . com / melkeydev / go - blueprint @latest O si lo preferimos usamos Npm: $ npm install - g @melkeydev/ go - blueprint Está última solo para quienes ya están trabajando en proyectos JS/Node. Verificamos la instalación. En Linux: $ wich go - blueprint En Windows: $ where go - blueprint O simplemente: $ go - blueprint version ¿Para qué sirve Go-Blueprint? Generación rápida de proyectos Go: crea la estructura base de un proyecto en segundos. -  Integración con frameworks: soporta Gin, Fiber, Echo, Chi y otros.  Automatización de ...

Gin Web Framework

Gin Framework es un framework web de alto rendimiento escrito en Golang que facilita la creación de aplicaciones web, APIs REST y microservicios. Se destaca por su velocidad, eficiencia y productividad, utilizando httprouter para un enrutamiento rápido y un diseño minimalista. Principales características: Veloz y con poco consumo de recursos de memoria.  Soporte de middleware.  Capaz de recuperarse a bloqueos.  Validación de JSON.  Buen manejo de errores.  Render incluido. Capaz de extenderse. Para instalarlo basta con importarlo: import "github.com/gin-gonic/gin" Veamos un ejemplo. main.go package main import ( "net/http" "github.com/gin-gonic/gin" ) func main() { // Crea un router Gin con middleware por defecto (logger y recovery) r := gin.Default() // Define un endpoint GET sencillo r.GET( "/ping" , func (c * gin.Context) { // Devuelve respuesta JSON c.JSON(http.StatusOK, gin...

Comparativa entre Go, Odin y Rust

En esta ocasión veremos una comparativa entre tres lenguajes de programación modernos: Go, Odin y Rust . Comencemos observando esta tabla comparativa. Comparativa entre lenguajes. Característica Go Odin Rust Creador Ken Thompson, Robert Pike y Robert Griesemer Ginger Bill Graydon Hoare Paradigma Multiparadigma Multiparadigma (con limitantes) y orientado a datos Multiparadigma (con limitantes) Extensión .go .odin .rs Tipado Estático Estático Estático Nivel de abstracción Alto nivel Alto nivel Alto nivel Tipo de e...