Contenido del curso
Fundamentos de Go
Estructuras de Datos y Funciones
- 8

Sentencia switch en Go con ejemplos reales
07:16 min - 9

Arreglos en Go: fijos e inferidos
06:55 min - 10

Creación y uso de slices dinámicos en Go
08:25 min - 11

Mapas en Go: creación, acceso y manipulación de datos clave-valor
09:37 min - 12

Cómo crear y usar funciones personalizadas en Go
07:09 min - 13

Retorno de múltiples valores en Go
07:43 min - 14

Funciones variadic en Go con tres puntos
07:10 min - 15

Funciones recursivas en Go con Fibonacci
06:11 min - 16

Punteros en Go para optimizar rendimiento del sistema
05:19 min - 17

Runas en Go: bytes vs caracteres reales
06:40 min - 18

Declaración y uso de estructuras de datos en Go
09:06 min - 19

Implementación de enumeradores en Go para controlar estados
09:32 min
Manejo de Errores y Concurrencia
Buenas Prácticas en Go
Conversión de tipos en Go
Resumen
Aprender a manejar la conversión de valores en Go es lo que te permite combinar variables de distintos tipos sin que el compilador te lance errores. Si ya sabes declarar variables, el siguiente paso es entender cómo mezclar enteros, flotantes y cadenas dentro de un mismo programa para que tu código realmente funcione.
¿Cómo se declaran variables numéricas en Go?
Go te permite declarar variables de dos formas principales: con la palabra reservada var indicando el tipo, o usando inferencia con :=. Ambas son válidas y eligir una u otra depende del contexto.
Dentro de una carpeta llamada valores y un archivo main.go, empiezas con el clásico package main, importas fmt y defines la función main. A partir de ahí puedes crear tu primera variable entera.
go package main
import "fmt"
func main() { var numero int = 10 numero2 := 20 fmt.Println(numero, numero2) }
En el primer caso declaras explícitamente int. En el segundo, Go infiere el tipo entero gracias a la sintaxis :=. Las dos formas conviven sin problema.
¿Cuál es la diferencia entre var y := en Go?
varte obliga a declarar el tipo (o lo infiere si asignas valor), mientras que:=solo funciona dentro de funciones e infiere el tipo automáticamente a partir del valor.
¿Por qué necesitas convertir tipos al sumar enteros y flotantes?
Aquí está el detalle interesante de Go: no puedes sumar directamente un int con un float64. El lenguaje es estricto con los tipos y te exige hacer la conversión explícita antes de operar.
Si defines un numeroEntero con valor 10 y un numeroDoble con valor 20.5, Go reconocerá al primero como int y al segundo como float64. Al intentar sumarlos directamente, el compilador te marcará error.
go var numeroEntero int = 10 numeroDoble := 20.5 resultado := numeroEntero + int(numeroDoble) fmt.Println(resultado)
La función int() convierte el valor flotante a entero. Y aquí viene un punto importante: la conversión trunca, no redondea. Por eso 20.5 se convierte en 20, no en 21. El resultado final de la suma es 30, no 31 como podría parecer intuitivo.
¿La conversión a int redondea los decimales?
No. Go simplemente elimina la parte decimal. Si tienes 20.5, 20.9 o 20.1, todos se convertirán en 20 al pasarlos a int. Si necesitas redondeo real, tienes que usar funciones del paquete math.
¿Cómo se concatenan cadenas en Go?
Las strings se manejan con el operador +, que en este contexto no suma sino que une los textos. Es la forma más directa de construir frases combinando varias variables.
go var nombre string = "Amin" apellido := "González" nombreCompleto := nombre + " " + apellido fmt.Println(nombreCompleto)
Fíjate en el espacio entre comillas: sin él, obtendrías AminGonzález pegado. La concatenación respeta exactamente lo que escribes, así que los espacios y signos de puntuación corren por tu cuenta.
¿Puedo concatenar un string con un número en Go? No directamente. Necesitas convertir el número a string usando
strconv.Itoa()para enteros ofmt.Sprintf()para flotantes antes de unirlo con el operador+.
¿Cómo ejecutar y verificar tu programa en Go?
Una vez tienes el código listo, abres la terminal, navegas hasta la carpeta valores y ejecutas:
bash go run main.go
La salida te mostrará en orden:
- Los dos valores enteros: 10 y 20.
- El resultado de la suma con conversión: 30.
- La cadena concatenada: Amin González.
Esto confirma que la conversión funcionó y que cada tipo se imprimió correctamente. La función fmt.Println acepta cualquier tipo y se encarga de mostrarlo en consola sin que tengas que especificar formato.
¿Qué hace la sintaxis := frente a var en la práctica?
La inferencia con := te ahorra escribir el tipo cuando es obvio por el valor asignado. Es ideal para variables locales dentro de funciones. En cambio, var es útil cuando declaras variables a nivel de paquete o cuando quieres dejar el tipo explícito por claridad del código.
Reto: imprime tu nombre y tu edad
Ahora te toca a ti practicar. Dentro del mismo archivo main.go, declara una variable string con tu nombre y otra int con tu edad. Imprímelas en consola usando fmt.Println y comparte tu solución en los comentarios.
Piensa en cómo combinarías ambos valores en una sola línea de texto. ¿Necesitarías conversión? ¿Qué pasaría si intentaras concatenarlos directamente con +? Cuéntame cómo te fue con el ejercicio.