AnyCompiler

Introducción a Go

Go (a menudo llamado Golang) es un lenguaje compilado y con recolector de basura diseñado en Google con un principio rector: la simplicidad. Tiene un conjunto pequeño y deliberadamente mínimo de características del lenguaje — sin clases, sin excepciones, sin abstracciones pesadas de generics por defecto — lo que mantiene las bases de código fáciles de leer incluso cuando crecen.

El código Go compila directamente a un binario nativo, y compila rápido — uno de los rasgos más destacados del lenguaje. El compilador comprueba cada tipo antes de que tu programa se ejecute, así que un error de tipo se detecta inmediatamente como un error de compilación, no como una sorpresa en tiempo de ejecución.

Por qué importa la simplicidad de Go

  • Compilación rápida — Go se construyó en parte para resolver tiempos de compilación dolorosamente lentos a gran escala, y todavía compila bases de código grandes en segundos
  • Fácil de leer — un conjunto pequeño de características del lenguaje significa que el código Go escrito por distintas personas tiende a verse notablemente similar, lo que hace que las bases de código grandes sean más fáciles de navegar
  • Concurrencia integrada — las goroutines y los channels son parte del lenguaje mismo, no una librería añadida, lo que convierte al código concurrente en un ciudadano de primera clase
  • Un único estilo de formato oficial — gofmt significa que no hay debate sobre el estilo de código; cada base de código Go se formatea de la misma manera

Una vista previa rápida

Aquí tienes un programa Go real, ejecutado de verdad en el propio compilador de esta página — no es una simulación:

package main

import "fmt"

func main() {
	message := "Hello from Go!"
	fmt.Println(message)
}
Output
Hello from Go!

Eso es todo — una variable, asignada con :=, impresa con fmt.Println. La siguiente lección ejecuta tu primer programa completo y explica exactamente qué está pasando.

Practice exercise

Declara una variable version := 5, luego imprime "Go version:" seguido de version usando fmt.Println("Go version:", version).