Desempaquetado con If Let
Parte de la sección Fundamentos del Journey de Swift de Coddy — lección 12 de 86.
Para acceder de forma segura al valor dentro de un opcional, usamos if let — una técnica llamada vinculación opcional. Esto comprueba si el opcional contiene un valor y, de ser así, lo desenvuelve en una constante temporal.
var username: String? = "Swift_Dev"
if let name = username {
print("Welcome, \(name)")
} else {
print("No username found")
}
// Bienvenido, Swift_DevAquí, if let comprueba si username tiene un valor. Como lo tiene, el valor se desempaqueta en name, que existe solo dentro del bloque if. Si username fuera nil, el bloque else se ejecutaría en su lugar.
var age: Int? = nil
if let unwrappedAge = age {
print("Age is \(unwrappedAge)")
} else {
print("Age not provided")
}
// Edad no proporcionadaDado que age es nil, la condición falla y el bloque else se ejecuta. Esto evita fallos que ocurrirían si intentáramos usar un valor faltante directamente.
Desafío
FácilSe te proporciona la siguiente variable:
var nickname: String? = "CoddyLearner"Usa if let para desempaquetar de forma segura nickname. Si contiene un valor, imprime Hello, [value]! donde [value] es el apodo desempaquetado. Si es nil, imprime No nickname set.
Hoja de referencia
Usa if let (vinculación opcional) para desenvolver de forma segura un opcional y acceder a su valor:
var username: String? = "Swift_Dev"
if let name = username {
print("Welcome, \(name)")
} else {
print("No username found")
}
// Welcome, Swift_DevSi el opcional contiene un valor, se desenvuelve en una constante temporal que existe solo dentro del bloque if. Si el opcional es nil, se ejecuta el bloque else:
var age: Int? = nil
if let unwrappedAge = age {
print("Age is \(unwrappedAge)")
} else {
print("Age not provided")
}
// Age not providedPruébalo tú mismo
var nickname: String? = "CoddyLearner"
// TODO: Escribe tu código abajo
// Usa if let para desempaquetar de forma segura nickname
// Si contiene un valor, imprime "Hello, [value]!"
// Si es nil, imprime "No nickname set"Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador de móduloAsignación compuestaResumen - Matemáticas simplesOperadores de comparación7E/S Básica
Función PrintInterpolación de StringsEntrada ReadLineConversión de TiposRepaso - Hasta 120Repaso - Verdadero o Falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoEtiquetas de argumentosResumen - Función SigmaResumen - Función de validaciónValores por defecto13Iterar sobre secuencias
Iterar sobre elementosEl método enumerateIterar sobre cadenas P1Iterar sobre cadenas P22Variables
Let vs VarAnotaciones de tiposNúmerosStringsBooleanosConvenciones de nomenclaturaResumen - Inicializar variables5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operador ternario8Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada de datos11FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz3Opcionales
Qué son los opcionalesDesempaquetado con If LetGuard LetOperador de coalescencia nulaResumen - Desempaquetado seguro6Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleSentencia SwitchSwitch con rangos9Bucles
Bucle For-InBucle WhileBucle Repeat-WhileBreakContinueRepaso - FactorialRangos en buclesBucle anidadoRepaso - Entrada dinámica