¡Bienvenido a nuestro tutorial de «Hola Mundo» en Go, donde te guiaremos en la construcción de tu primera aplicación en Go! Go, a menudo también llamado Golang, es un lenguaje de programación potente y eficiente creado por Google. Es conocido por su simplicidad, legibilidad y excelente soporte para la concurrencia. En este tutorial, cubriremos los fundamentos de Go con ejemplos para ayudarte a comenzar.
1. Instalación
Para empezar con Go, necesitarás instalarlo en tu computadora. Visita el sitio web oficial de Go y descarga el instalador para tu sistema operativo. Sigue las instrucciones de instalación.
Después de la instalación, abre una terminal o línea de comandos y verifica la instalación escribiendo el siguiente comando:
go version
Deberías ver la versión instalada de Go mostrada.
2. Programa «Hola Mundo»
Comencemos con el clásico programa «Hola Mundo» para tener una idea de cómo funciona Go:
Crea un archivo llamado hello.go
y agrega el siguiente código:
package main
import "fmt"
func main() {
fmt.Println("¡Hola, Mundo!")
}
Para ejecutar este programa, navega a través de la terminal al directorio que contiene hello.go
y escribe:
go run hello.go
Deberías ver «¡Hola, Mundo!» impreso en la consola.
3. Variables y Constantes
Go es un lenguaje de tipado estático, lo que significa que necesitas declarar el tipo de variables. Aquí tienes un ejemplo de cómo declarar variables y constantes:
package main
import "fmt"
func main() {
var nombre string = "Alice"
edad := 30 // Inferencia de tipo
fmt.Println("Nombre:", nombre)
fmt.Println("Edad:", edad)
const pi = 3.14159
fmt.Println("Valor de Pi:", pi)
}
4. Tipos de Datos
Go tiene varios tipos de datos integrados como int
, float64
, string
, bool
, etc. Aquí tienes un ejemplo:
package main
import "fmt"
func main() {
var num1 int = 42
var num2 float64 = 3.14
var str string = "Hola"
var esGenialGo bool = true
fmt.Println("Entero:", num1)
fmt.Println("Flotante:", num2)
fmt.Println("Cadena:", str)
fmt.Println("Booleano:", esGenialGo)
}
5. Estructuras de Control
Go admite estructuras de control típicas como if
, else
, for
y switch
. Aquí tienes un ejemplo:
package main
import "fmt"
func main() {
// If-else
num := 10
if num%2 == 0 {
fmt.Println(num, "es par")
} else {
fmt.Println(num, "es impar")
}
// Bucle For
for i := 1; i <= 5; i++ {
fmt.Println("Iteración:", i)
}
// Switch
fruta := "manzana"
switch fruta {
case "manzana":
fmt.Println("Es una manzana")
case "plátano":
fmt.Println("Es un plátano")
default:
fmt.Println("Fruta desconocida")
}
}
6. Funciones
Las funciones se definen usando la palabra clave func
. Aquí tienes un ejemplo:
package main
import "fmt"
func main() {
resultado := suma(10, 20)
fmt.Println("Resultado:", resultado)
}
func suma(a, b int) int {
return a + b
}
7. Paquetes
El código de Go se organiza en paquetes. Puedes crear tus propios paquetes o usar paquetes de la biblioteca estándar. Aquí tienes un ejemplo con el paquete math
:
package main
import (
"fmt"
"math"
)
func main() {
x := 16.0
fmt.Println("La raíz cuadrada de", x, "es", math.Sqrt(x))
}
8. Concurrencia (Goroutines)
Una de las características destacadas de Go es su soporte incorporado para la concurrencia con goroutines. Las goroutines son hilos livianos gestionados por el tiempo de ejecución de Go. Aquí tienes un ejemplo:
package main
import (
"fmt"
"time"
)
func main() {
// Iniciar una goroutine
go contarNumeros()
// Dejar que la goroutine se ejecute por un tiempo
time.Sleep(time.Second * 2)
fmt.Println("Función principal finalizada...")
}
func contarNumeros() {
for i := 1; i <= 5; i++ {
fmt.Println("Conteo:", i)
time.Sleep(time.Second)
}
}
Este programa imprimirá el conteo en la goroutine mientras la función principal continúa ejecutándose.
Este tutorial cubre los fundamentos de Go para ayudarte a empezar en este potente lenguaje. A medida que te sientas más cómodo, explora la rica biblioteca estándar y las características avanzadas de Go para crear aplicaciones eficientes y escalables.