Migrar proyecto de Go a go mod

En las últimas versiones de Go / Golang vamos a encontrar que ahora se usan los módulos de Go. Por ello si queremos compilar una versión antigua puede que nos encontremos con el siguiente error:

go: cannot find main module

Esto quiere decir que no ha encontrado nuestro módulo principal, y que debemos crearlo para también usar go mod.

En este tutorial te enseñaré cómo migrar el proyecto para que use los módulos de Go.

(más…)

Descargar archivo por URL usando Go Golang

Go – Descargar archivo de internet

En este post de programación en Go / Golang te enseñaré cómo descargar un archivo de internet y guardarlo en el dispositivo desde donde se invocó al ejecutable.

Descargar archivo por URL usando Go Golang

Descargar archivo por URL usando Go Golang

Es decir, usar Go para descargar cualquier archivo de internet, ya sea una imagen, un PDF, etcétera y guardarlo en la computadora.

(más…)

Expresiones regulares en Go

Hoy te mostraré cómo trabajar con expresiones regulares en el lenguaje de programación Go, también conocido como Golang.

No te mostraré cómo usar las expresiones regulares, pues las mismas son independientes del lenguaje (aunque también tienen sabores) y son un tema aparte, así que solo te mostraré cómo trabajar con expresiones regulares en Go a través de regexp.

(más…)

Declarar arreglo en Go

En este post sobre programación básica en Go te mostraré cómo declarar un arreglo. Aunque suena sencillo y lo es, en ocasiones olvidamos la sintaxis.

Así que te mostraré la sintaxis que prefiero al declarar un arreglo en Go, ya sea de tipo string, int, etcétera.

(más…)

Go: API REST con MySQL

En este artículo de programación en el lenguaje Go (también conocido como Golang) vamos a ver cómo crear una API REST que se comunica a través de JSON, guardando y mostrando los datos a partir de una base de datos de MySQL / MariaDB.

Al final vamos a tener una API REST con Go usando los 4 métodos: POST, PUT, DELETE y GET usando el enrutador Mux. Además vamos a implementar las 4 operaciones de una base de datos: insert, update, delete y select.

Te dejaré al final el código completo y además una explicación en mi canal de YouTube.

(más…)

Datos de sesión con fetch

En este post te mostraré cómo hacer que la sesión persista al usar la fetch API de JavaScript. Pasa que en ocasiones hacemos cosas con la sesión del lado del servidor, pero al usar fetch no se toma en cuenta la sesión.

Por ejemplo, iniciamos sesión con fetch y al querer acceder a un recurso protegido con la sesión, nos dice que no hay datos de sesión o que no estamos logueados.

Te mostraré cómo hacer que la sesión del lado del servidor (lo he probado con PHP, Go y Node.js o bueno JavaScript del lado del cliente) persista al usar fetch.

(más…)

Go: error con JSON y arreglo vacío

En este artículo expongo un pequeño error que sucede con Go (supongo que no es un bug sino que simplemente así se comporta el lenguaje) al declarar un arreglo vacío.

Lo que sucede es que cuando se declara un arreglo de structs y el mismo está vacío, al ser codificado como JSON el arreglo es null en lugar de [].

En otras palabras: go codifica (con JSON)  un arreglo vacío como null en lugar de como un arreglo vacío [].

(más…)

Por parzibyte, hace

Consulta manual con GORM

Otro post que escribo sobre GORM, un ORM de Go. En este caso vamos a ver cómo hacer una consulta manual y un escaneo manual, es decir, algo tipo raw. Algo así como una query personalizada.

Este tipo de consultas son poco comunes pero existen para cuando necesitamos hacer un reporte o traer ciertos datos que no corresponden a un único modelo.

(más…)