0Pricing
Swift Academy · Lección

El operador de coalescencia de nil

Proporcione un valor predeterminado cuando un opcional sea nil.

El operador de coalescencia de nil 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.

El problema de nil

Un opcional puede contener un valor o ser nil. A menudo querrá usar el valor si está presente o recurrir a un valor predeterminado si es nil.

let typedName: String? = nil
let name = typedName ?? "Guest"
print(name)

El operador ??

El operador de coalescencia de nil ?? toma un opcional a la izquierda y un valor predeterminado a la derecha. Si el opcional no es nil, obtiene su valor desempaquetado; de lo contrario, obtiene el valor predeterminado.

let stored: Int? = 42
let value = stored ?? 0
print(value)

El valor predeterminado solo se usa con nil

El valor predeterminado de la derecha solo se usa cuando el lado izquierdo es nil. Un valor presente, incluso 0 o una cadena vacía, se conserva.

let count: Int? = 0
let result = count ?? 99
print(result)

El resultado no es opcional

La expresión optional ?? default produce un valor no opcional, porque siempre hay algo a lo que recurrir.

let nickname: String? = nil
let display: String = nickname ?? "Anonymous"
print(display)

Sustitución de if let

Sin ??, tendría que escribir un if/else para desempaquetar el valor y proporcionar un valor predeterminado. La coalescencia de nil reduce todo eso a una sola expresión.

let age: Int? = nil
var finalAge: Int
if let unwrapped = age {
    finalAge = unwrapped
} else {
    finalAge = 18
}
print(finalAge)

La misma lógica con ??

Aquí tiene el ejemplo anterior reescrito con coalescencia de nil. Es más corto y la intención resulta evidente.

let age: Int? = nil
let finalAge = age ?? 18
print(finalAge)

Coalescencia en interpolaciones

Puede insertar ?? directamente dentro de una interpolación de String para mostrar un valor alternativo adecuado.

let city: String? = nil
print("City: \(city ?? "Unknown")")

A partir de conversiones que pueden fallar

Convertir un String en un Int devuelve un opcional. La coalescencia de nil proporciona un valor predeterminado cuando el texto no es un número.

let text = "abc"
let number = Int(text) ?? -1
print(number)

Coalescencia con diccionarios

Buscar una clave en un diccionario devuelve un opcional. Use ?? para proporcionar un valor alternativo cuando falta la clave.

let scores = ["Ann": 90]
let bob = scores["Bob"] ?? 0
print(bob)

El valor predeterminado puede calcularse

El lado derecho puede ser cualquier expresión del tipo adecuado, incluso una llamada a una función. Solo se evalúa cuando es necesario.

func defaultName() -> String {
    return "Player1"
}
let entered: String? = nil
print(entered ?? defaultName())

Los tipos deben coincidir

El valor predeterminado debe ser compatible con el tipo contenido por el opcional. Un Int? necesita un valor predeterminado Int.

let maybe: Int? = nil
let safe = maybe ?? 100
print(safe + 1)

Comprobación rápida

Pruebe la coalescencia de nil.

Resumen: el operador de coalescencia de nil

El operador ?? desempaqueta un opcional o recurre a un valor predeterminado, y produce un resultado no opcional. El valor predeterminado solo se usa cuando el opcional es nil.

let input: String? = nil
let name = input ?? "Default"
print(name)

Preguntas frecuentes

¿La lección «El operador de coalescencia de nil» es gratis?

Sí — el texto completo de «El operador de coalescencia de nil» 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 «El operador de coalescencia de nil»?

Proporcione un valor predeterminado cuando un opcional sea nil. 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 «El operador de coalescencia de nil»?

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. El operador de coalescencia de nil
  2. Encadenamiento de valores predeterminados
  3. Valores predeterminados en parámetros de funciones
  4. Subíndices predeterminados de diccionarios
← Volver a Swift Academy