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 paquetemaines un paquete especial que dice: "Soy el programa principal, me pueden ejecutar".import "fmt"— importamos un conjunto de herramientas ya preparadas (biblioteca) llamadafmt. 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.fmtes el nombre de la biblioteca, el punto es el separador,Printlnes 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 nombrenamey tipostring(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 variablename. 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 variablesum.- 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 dePrintln).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 dename. 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 deelse.>=— 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" |