Desembrulhando com If Let
Parte da seção Fundamentos do Journey de Swift da Coddy — lição 12 de 86.
Para acessar com segurança o valor dentro de um opcional, usamos if let — uma técnica chamada optional binding. Isso verifica se o opcional contém um valor e, se sim, o desempacota em uma constante temporária.
var username: String? = "Swift_Dev"
if let name = username {
print("Welcome, \(name)")
} else {
print("No username found")
}
// Welcome, Swift_DevAqui, o if let verifica se username possui um valor. Como possui, o valor é desempacotado em name, que existe apenas dentro do bloco if. Se username fosse nil, o bloco else seria executado em vez disso.
var age: Int? = nil
if let unwrappedAge = age {
print("Age is \(unwrappedAge)")
} else {
print("Age not provided")
}
// Idade não fornecidaComo age é nil, a condição falha e o bloco else é executado. Isso evita falhas que ocorreriam se tentássemos usar um valor ausente diretamente.
Desafio
FácilVocê recebeu a seguinte variável:
var nickname: String? = "CoddyLearner"Use if let para desembrulhar (unwrap) nickname com segurança. Se ele contiver um valor, imprima Hello, [value]! onde [value] é o apelido desembrulhado. Se for nil, imprima No nickname set.
Folha de consulta
Use if let (vinculação opcional) para desembrulhar um opcional com segurança e acessar seu valor:
var username: String? = "Swift_Dev"
if let name = username {
print("Welcome, \(name)")
} else {
print("No username found")
}
// Bem-vindo, Swift_DevSe o opcional contiver um valor, ele é desembrulhado em uma constante temporária que existe apenas dentro do bloco if. Se o opcional for nil, o bloco else é executado:
var age: Int? = nil
if let unwrappedAge = age {
print("Age is \(unwrappedAge)")
} else {
print("Age not provided")
}
// Idade não fornecidaExperimente você mesmo
var nickname: String? = "CoddyLearner"
// TODO: Escreva seu código abaixo
// Use if let para desembrulhar (unwrap) nickname com segurança
// Se contiver um valor, imprima "Hello, [value]!"
// Se for nil, imprima "No nickname set"Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 1
Operadores AritméticosOperador de MóduloAtribuição CompostaRecapitulação - Matemática SimplesOperadores de Comparação7IO Básico
Função PrintInterpolação de StringsEntrada ReadLineConversão de TiposRecapitulação - Até 120Recapitulação - Verdadeiro ou Falso10Funções
Declarar uma FunçãoParâmetros e ArgumentosValores de RetornoRótulos de ArgumentosRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores Padrão13Iterando sobre Sequências
Iterando sobre ElementosO Método EnumeratedIterando sobre Strings P1Iterando sobre Strings P22Variáveis
Let vs VarAnotações de TipoNúmerosStringBooleanosConvenções de NomenclaturaRecapitulação - Inicializar Variáveis5Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Operador Ternário8Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo Entrada11FizzBuzz com um Diferencial
Visão Geral do JogoA Função FizzBuzz3Opcionais
O que são OpcionaisDesembrulhando com If LetGuard LetOperador de Coalescência NulaRecapitulação - Desembrulho Seguro6Tomada de Decisão
Estrutura IfIf - ElseRecapitulação - Calculadora SimplesEstrutura SwitchSwitch com Intervalos9Loops
Loop For-InLoop WhileLoop Repeat-WhileBreakContinueRecapitulação - FatorialIntervalos em LoopsLoop AninhadoRecapitulação - Entrada Dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando ElementosModificando ArraysMétodos de ArrayRecapitulação - Lista de ProdutosRecapitulação - Array InvertidoTuplas15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa