Saltar al contenido principal

Aprender Go desde cero, parte 1: tu primer hola mundo

Curso: Go — Lección 2 de 3

> serie: aprende Go de 0 a 100 | artículo 1 de 19

Por qué otro lenguaje más

Go nació en Google en 2007, diseñado por Robert Griesemer, Rob Pike y Ken Thompson (sí, el Ken Thompson de Unix), y se liberó como open source en noviembre de 2009. Fuente: FAQ oficial de Go. Si tu plan es aprender Go desde cero, esta serie empieza exactamente aquí.

Sus creadores estaban hartos de dos cosas: compilaciones eternas y la complejidad de C++ en los sistemas gigantes de Google. La respuesta fue un lenguaje compilado, con tipado estático, recolector de basura y concurrencia integrada en el propio lenguaje. Sin frameworks externos para lanzar hilos ligeros: eso viene de fábrica y lo veremos en el artículo 11.

Si ya programas en otro lenguaje, esto es lo que te aporta Go:

Vienes de Python o JS: adiós al «en mi máquina funciona». Go compila a un único binario estático que copias a cualquier servidor. Sin runtime que instalar, sin node_modules de 500 MB.

Vienes de Java: compila en segundos, arranca en milisegundos y no hay JVM que alimentar.

Para cualquiera: un único estilo de formateo (gofmt, lo veremos en el artículo 17), una sintaxis mínima con solo 25 palabras reservadas (especificación oficial) y una biblioteca estándar que trae hasta servidor HTTP de serie.

Y un detalle que me toca la fibra: en Go no escribes punto y coma. El compilador los inserta él solito (Effective Go, sección Semicolons). Uno menos que perder.

Punto y coma perdido. En Go no escribes punto y coma
[Punto y coma perdido. En Go no escribes punto y coma]

Instalación: el primer paso para aprender Go desde cero

Primer paso real para aprender Go desde cero: instalarlo. Descarga el instalador para tu sistema (Windows, macOS o Linux) desde la página oficial de descargas. A fecha de este artículo, la versión estable es Go 1.26, liberada en febrero de 2026 (historial de releases).

Verifica que todo está en su sitio:

go version

Si el terminal responde algo tipo go version go1.26.5 windows/amd64, estás dentro.

Hola mundo

Crea una carpeta para el proyecto e inicializa un módulo. El módulo es cómo Go identifica tu proyecto y gestiona dependencias (lo destripamos en el artículo 15):

mkdir hola
cd hola
go mod init ejemplo/hola

Ahora crea un archivo main.go:

// Todo archivo Go pertenece a un paquete.
// "main" es especial: le dice al compilador
// que esto es un ejecutable, no una librería.
package main

// Importamos fmt, el paquete de la biblioteca
// estándar para formatear e imprimir texto.
import "fmt"

// func main es el punto de entrada.
// Sin argumentos, sin valor de retorno.
// Como el main de C, pero sin ceremonia.
func main() {
  fmt.Println("hola, mundo")
}

Tres cosas que ya te chocan si vienes de otro sitio: no hay clase envolviendo nada (hola, Java), las llaves son obligatorias aunque haya una sola línea, y la llave de apertura va en la misma línea que func. No es manía: es la inserción automática de punto y coma del compilador, que rompe si la pones abajo (Effective Go).

Este ejemplo sigue el tutorial oficial de inicio.

go run vs go build

Dos comandos que vas a usar cada día:

go run .

go run compila a un directorio temporal y ejecuta al momento. No deja binario. Es tu ciclo rápido de desarrollo, el equivalente mental a python main.py o node index.js, solo que aquí hay compilación real por debajo.

go build
./hola

go build compila y deja el ejecutable en tu carpeta. Ese archivo funciona en cualquier máquina con el mismo sistema y arquitectura, sin tener Go instalado.

Analogía de andar por casa: go run es calentar el táper y comértelo de pie en la cocina. go build es dejarlo preparado para llevártelo a donde quieras. Documentación: go.dev/cmd/go.

Aprender Go desde cero, parte 1: tu primer hola mundo
[ «go run» con flecha directa de código a pantalla, «go build» de código a binario y de binario a tres máquinas distintas]

Reto de la semana

  • Aprender Go desde cero se hace tecleando, así que…
  • Instala Go y verifica con go version.
  • Modifica el programa para que el saludo use tu nombre guardado en una variable (pista: nombre := «Guadua»).
  • Compila con go build y ejecuta el binario desde otra carpeta, sin Go de por medio. Siente el poder del binario único.

En el próximo artículo: tipos, variables, constantes y el misterioso iota.

Aprender Go desde cero va de esto: teclear.

> exit

Retrato pixel art de Jenniffer Cubillos

gracias por leer