Introducción a Go: por dónde empezar en 2025: en la práctica
Go (o Golang) es un lenguaje de programación compilado, de tipado estático, desarrollado en Google. En 2025, ocupa firmemente el nicho de los microservicios de alto rendimiento, las aplicaciones en la nube y las herramientas DevOps. Si quieres empezar a aprender Go desde un punto de vista práctico, esta guía te llevará desde la instalación hasta la escritura de tu primer programa con sentido.
¿Por qué Go? Combina la simplicidad de Python con el rendimiento de C. Go es ideal para crear aplicaciones de servidor robustas, utilidades de red y computación paralela gracias al soporte integrado de gorutinas (goroutines). En este artículo, desglosaremos los conceptos clave con ejemplos de código que podrás ejecutar de inmediato.
1. Instalación y configuración del entorno
El primer paso es instalar el compilador de Go. En 2025, las versiones estables actuales son Go 1.22 o 1.23. La instalación es sencilla:
- Windows: Descarga el instalador MSI desde el sitio oficial y ejecútalo.
- macOS: Usa Homebrew:
brew install go. - Linux: Descarga el archivo
.tar.gzy extráelo en/usr/localo usa el gestor de paquetes (por ejemplo,sudo apt install golang-go).
Después de la instalación, verifica la versión en la terminal:
go versionDeberías ver algo como go version go1.22.0 linux/amd64. Ahora, crea un espacio de trabajo (workspace). En Go, es habitual almacenar todos los proyectos en una sola carpeta. Crea una carpeta go-projects y dentro de ella una carpeta para el primer proyecto:
mkdir -p ~/go-projects/hellocd ~/go-projects/helloInicializa el módulo: esta es la unidad principal para la gestión de dependencias:
go mod init helloEste comando creará un archivo go.mod que rastreará las dependencias de tu proyecto.
2. Sintaxis: variables, tipos y estructuras de control
Go tiene un sistema de tipos estricto pero conciso. Creemos un archivo main.go y escribamos un ejemplo básico:
package main
import "fmt"
func main() { // Declaración de variables var name string = "Go" var version int = 2025 isFast := true // declaración corta (el tipo se infiere automáticamente)
fmt.Println("Hola,", name) fmt.Println("Versión:", version) fmt.Println("¿Go es rápido?", isFast)
// Condicional if version > 2024 { fmt.Println("¡Esta es la versión actual!") }
// Bucle for (el único bucle en Go) for i := 0; i < 3; i++ { fmt.Printf("Iteración %d", i) }}Puntos clave:
package main— indica que este es un programa ejecutable.import "fmt"— importa el paquete para entrada/salida formateada.vary:=— dos formas de declarar variables.:=se usa solo dentro de funciones.- Tipos:
string,int,bool,float64y otros.
Ejecuta el programa con el comando go run main.go. Deberías ver la salida en la consola.
3. Funciones y estructuras: la base de la modularidad
Las funciones en Go se declaran con la palabra clave func. Pueden devolver múltiples valores: esta es una de las características clave del lenguaje. Las estructuras (struct) son análogas a las clases en POO, pero sin herencia.
package main
import "fmt"
// Estructura para representar un usuariotype User struct { Name string Age int}
// Función que devuelve múltiples valoresfunc createUser(name string, age int) (User, error)