🐹 Go

Primera programa: Hello World y fundamentos de sintaxis en Go

¿Qué es y para qué sirve?

Imagina que estás aprendiendo a cocinar. El primer plato que probarás será, probablemente, unos huevos revueltos o un sándwich. No empiezas directamente con un pastel "Napoleón" o una sopa complicada. De la misma manera, en programación existe un "primer plato": un programa que simplemente muestra en pantalla las palabras "Hello, World!" (¡Hola, mundo!).

¿Para qué sirve esto? En primer lugar, para verificar que tu "herramienta" (computadora, editor de código) funciona correctamente. En segundo lugar, para entender lo más básico: cómo escribir un comando, cómo ejecutarlo y ver el resultado. Es como presionar un interruptor por primera vez y ver la luz: entiendes que hay electricidad y que la bombilla funciona.

Go (o Golang) es un lenguaje de programación creado en la empresa Google. Fue diseñado para que los programadores puedan escribir programas rápidos y confiables más fácilmente. Es estricto, pero justo: si cometes un error, te lo dirá de inmediato. Y el primer programa en Go es tu pase de entrada al mundo del código.

Sintaxis y ejemplos de código

La sintaxis son las reglas para escribir código, como las reglas del idioma español: dónde poner un punto y dónde una coma. En Go, estas reglas son muy claras. Veamos el primer ejemplo.

Ejemplo 1: Hello World clásico

package main  // Decimos que este es el programa principal

import "fmt"  // Importamos la biblioteca para mostrar texto

func main() {  // Declaramos la función principal (la acción principal)
    fmt.Println("Hello, World!")  // Comando: imprime "Hello, World!"
}

Análisis línea por línea:

  • package main — cada programa en Go comienza indicando el "paquete". El paquete main es un paquete especial que dice: "Soy el programa principal, me pueden ejecutar".
  • import "fmt" — importamos un conjunto de herramientas ya preparadas (biblioteca) llamada fmt. Contiene funciones útiles, por ejemplo, Println — imprime una cadena con salto de línea.
  • func main() { ... } — esta es la función principal. Dentro de las llaves {} se escribe lo que el programa hará. Todo lo que está dentro se ejecuta en orden.
  • fmt.Println("Hello, World!") — comando para mostrar texto. fmt es el nombre de la biblioteca, el punto es el separador, Println es el nombre del comando. Entre paréntesis, lo que se debe imprimir, entre comillas.

Ejemplo 2: Saludo personalizado

package main

import "fmt"

func main() {
    var name string  // Declaramos una variable (contenedor) para texto
    name = "Ana"     // Guardamos el valor "Ana" en el contenedor
    fmt.Println("Hola,", name)  // Imprimimos: "Hola, Ana"
}

¿Qué hay de nuevo?:

  • var name string — creamos una variable con el nombre name y tipo string (cadena, es decir, texto). Una variable es como una caja donde se puede guardar un valor.
  • name = "Ana" — guardamos el valor "Ana" en la caja.
  • fmt.Println("Hola,", name) — imprimimos dos valores: el texto "Hola," y el contenido de la variable name. La coma los separa.

Ejemplo 3: Suma de números

package main

import "fmt"

func main() {
    var a int  // Variable para un número entero
    var b int  // Otra variable para un número
    a = 5
    b = 3
    var sum int = a + b  // Sumamos y guardamos el resultado
    fmt.Println("Suma:", sum)  // Imprimimos: "Suma: 8"
}

¿Qué hay de nuevo?:

  • int — tipo para números enteros (integer).
  • a + b — operación de suma. El resultado se guarda en la variable sum.
  • Se puede declarar una variable y asignarle un valor inmediatamente: var sum int = a + b.

Ejemplo 4: Entrada de datos del usuario

package main

import "fmt"

func main() {
    var name string
    fmt.Print("Ingresa tu nombre: ")  // Imprimimos sin salto de línea
    fmt.Scan(&name)  // Esperamos a que el usuario ingrese texto
    fmt.Println("Hola,", name)  // Imprimimos el saludo
}

¿Qué hay de nuevo?:

  • fmt.Print — imprime texto sin salto de línea (a diferencia de Println).
  • fmt.Scan(&name) — comando para leer la entrada del teclado. El signo & significa "toma la dirección de la variable" — esto es necesario para que la función pueda cambiar el valor de name. Por ahora, solo recuerda: si quieres obtener entrada del usuario, escribe & antes del nombre de la variable.

Ejemplo 5: Condicional (si-entonces)

package main

import "fmt"

func main() {
    var age int = 16
    if age >= 18 {  // Si age es mayor o igual a 18
        fmt.Println("Eres adulto")
    } else {  // De lo contrario
        fmt.Println("Todavía eres un niño")
    }
}

¿Qué hay de nuevo?:

  • if — condición. Si la expresión entre paréntesis es verdadera, se ejecuta el código dentro de las primeras llaves.
  • else — de lo contrario. Si la condición es falsa, se ejecuta el código después de else.
  • >= — operador "mayor o igual que".

Comparación con Python

Python es otro lenguaje popular para principiantes. Veamos cómo se ven los mismos ejemplos en Python.

Acción Go Python
Mostrar texto fmt.Println("Hola") print("Hola")
Crear una variable var name string = "Ana"