Swift Academy · Lección

Cómo funciona la inferencia de tipos

Descubra cómo Swift deduce los tipos a partir del contexto.

Lección 1 de 413 pasos

Cómo funciona la inferencia de tipos es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 1 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 Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 4 lecciones en total.

Qué es la inferencia de tipos

Swift puede deducir el tipo de un valor a partir del contexto de una expresión. A menudo no necesita escribir el tipo explícitamente.

let count = 42
let name = "Swift"
print(type(of: count))
print(type(of: name))

Inferencia a partir de literales

Un literal entero se infiere como Int, un literal decimal como Double y un literal entre comillas como String.

let a = 10
let b = 3.14
let c = "hello"
print(type(of: a), type(of: b), type(of: c))

Inferencia a partir del inicializador

Al llamar a un inicializador, el tipo del resultado determina la inferencia de la variable.

let pi = Double.pi
let flag = Bool(true)
print(type(of: pi))
print(type(of: flag))

Inferencia a partir del valor devuelto por una función

Una variable asignada a partir de una llamada a una función adopta el tipo devuelto por la función.

func makeGreeting() -> String {
    return "Hi"
}
let g = makeGreeting()
print(type(of: g))

Inferencia en colecciones

Los literales de arrays y diccionarios infieren los tipos de sus elementos a partir de los valores que contienen.

let nums = [1, 2, 3]
let pairs = ["a": 1, "b": 2]
print(type(of: nums))
print(type(of: pairs))

Inferencia bidireccional

Swift infiere en ambas direcciones: del valor a la variable y del tipo declarado al literal.

let x = 5            // Int inferred from literal
let y: Double = 5   // literal adapts to Double
print(type(of: x), type(of: y))

Inferencia entre expresiones

El compilador resuelve conjuntamente los tipos de toda una expresión y elige los tipos que hacen válidas todas las operaciones.

let result = 2 + 3 * 4
print(result)
print(type(of: result))

La inferencia reduce el ruido

La inferencia mantiene limpio el código. Es redundante escribir let names: [String] = [...] cuando el literal ya indica String.

let names = ["Ada", "Bob", "Cleo"]
print(names.count)

Cuando falla la inferencia

Si el compilador no puede encontrar un único tipo, se produce un error y debe añadir una anotación. Las colecciones vacías son un caso clásico.

let empty: [Int] = []
print(empty.isEmpty)

La inferencia es estática

La inferencia ocurre durante la compilación. Una vez inferido, el tipo queda fijado; Swift no tiene tipado dinámico.

var n = 10
// n = "text" // would be a compile error
n = 20
print(n)

Inferencia y rendimiento

La inferencia no tiene ningún coste en tiempo de ejecución. El compilador resuelve los tipos antes de generar el binario, por lo que el código con tipos inferidos se ejecuta exactamente con la misma rapidez que el código anotado.

let total = (1...100).reduce(0, +)
print(total)

Comprobación rápida

Compruebe cuánto domina la inferencia.

Resumen

La inferencia de tipos permite que Swift deduzca los tipos a partir de literales, inicializadores, valores devueltos y el contexto circundante durante la compilación. Reduce el ruido sin ningún coste en tiempo de ejecución, pero falla cuando no se puede determinar un único tipo (por ejemplo, en colecciones vacías).

let a = 1
let b = 2.0
let c = "x"
print(type(of: a), type(of: b), type(of: c))
Gratis para empezar

Aprende Swift 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
122
Lecciones
409

Preguntas frecuentes

¿La lección «Cómo funciona la inferencia de tipos» es gratis?

Sí — el texto completo de «Cómo funciona la inferencia de tipos» 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 Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Cómo funciona la inferencia de tipos»?

Descubra cómo Swift deduce los tipos a partir del contexto. Practicas Swift 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 Swift Academy?

No se requiere experiencia previa. Swift 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 1 de 4.

¿Cuánto tiempo toma la lección «Cómo funciona la inferencia de tipos»?

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 Swift Academy?

Sí. Cada lección de Swift 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

  1. Cómo funciona la inferencia de tipos
  2. Cuándo añadir anotaciones explícitas
  3. Inferencia con literales
  4. Inferencia en cierres
← Volver a Swift Academy