Conversiones de tipos en Go
Conversiones explícitas, alias de tipos y tipos definidos
Conversiones de tipos en Go es una lección gratuita de Go Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Go Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Go Academy incluye 4 lecciones en total.
¿Por qué usar conversiones explícitas?
Go nunca convierte implícitamente entre tipos. Esto evita errores sutiles en los que un entero pequeño se desborda silenciosamente al convertirse en uno más grande o un float pierde precisión.
- Las conversiones deben escribirse explícitamente:
T(value) - El compilador detecta los tipos incompatibles en tiempo de compilación
- Esto hace que el código Go sea predecible y seguro
Conversiones numéricas
Convierta entre tipos numéricos usando el tipo de destino como una llamada a función:
package main
func main() {
var i int = 42
var f float64 = float64(i)
var u uint = uint(f)
_ = u
}Riesgo de truncamiento
Convertir de un tipo más grande a uno más pequeño trunca el valor. No se genera ningún error; debe tener cuidado:
package main
func main() {
big := int64(300)
small := int8(big) // 300 % 256 = 44 — silent truncation!
_ = small
}Conversiones entre string y []byte
Convertir entre string y []byte copia los datos:
package main
func main() {
s := "hello"
b := []byte(s) // string to byte slice
b[0] = 'H'
s2 := string(b) // byte slice to string
_ = s2
}string y []rune
Para manipular caracteres de forma segura con Unicode, convierta a []rune:
package main
func main() {
s := "Merhaba"
runes := []rune(s)
_ = len(runes) // character count, not byte count
}Paquete strconv
Para convertir entre cadenas y números, use el paquete strconv:
import "strconv"
func main() {
n, err := strconv.Atoi("42") // string -> int
s := strconv.Itoa(123) // int -> string
_ = n; _ = err; _ = s
}strconv.ParseFloat y FormatFloat
Analice y dé formato a cadenas de coma flotante de forma segura:
import "strconv"
func main() {
f, err := strconv.ParseFloat("3.14", 64)
if err != nil { return }
s := strconv.FormatFloat(f, 'f', 2, 64) // "3.14"
_ = s
}Alias de tipos frente a tipos definidos
Go distingue entre alias de tipos y tipos definidos:
type Celsius float64: tipo definido nuevo; requiere una conversión explícita hacia y desdefloat64type Celsius = float64: alias; es intercambiable confloat64
Ejemplo de tipo definido
Los tipos definidos mejoran la claridad de la API y evitan mezclar valores accidentalmente:
type Celsius float64
type Fahrenheit float64
func CtoF(c Celsius) Fahrenheit {
return Fahrenheit(c*9/5 + 32)
}
func main() {
boiling := Celsius(100)
_ = CtoF(boiling)
}Conversiones de interfaces
Cualquier valor puede convertirse al tipo de interfaz que satisface. Para volver a convertirlo se necesita una aserción de tipo:
var i interface{} = "hello"
s, ok := i.(string) // type assertion
if ok {
_ = s // safe to use
}Comprobación rápida
¿Qué función convierte una cadena en un entero en Go?
Resumen: conversiones de tipos
Conclusiones clave sobre las conversiones de tipos en Go:
- Go nunca convierte tipos implícitamente; use la sintaxis
T(value) - Las conversiones numéricas pueden truncar valores; sea explícito sobre este riesgo
[]byte(s)ystring(b)copian los datos- Use
strconv.Atoi/strconv.Itoapara convertir entre cadenas y números - Los tipos definidos requieren conversiones explícitas; los alias no
Siguiente curso: control de flujo con if, for y switch.
Aprende Go con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 51
- Lecciones
- 203
Preguntas frecuentes
¿La lección «Conversiones de tipos en Go» es gratis?
Sí — el texto completo de «Conversiones de tipos en Go» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Go Academy, actualiza a CoddyKit PRO. El curso de Go Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Conversiones de tipos en Go»?
Conversiones explícitas, alias de tipos y tipos definidos Practicas Go Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Go Academy?
No se requiere experiencia previa. Go Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Conversiones de tipos en Go»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Go Academy?
Sí. Cada lección de Go Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Declaración de variables en Go
- Tipos integrados de Go
- Constantes e iota
- Conversiones de tipos en Go