Menu
Coddy logo textTech

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_Dev

Aqui, 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 fornecida

Como age é nil, a condição falha e o bloco else é executado. Isso evita falhas que ocorreriam se tentássemos usar um valor ausente diretamente.

challenge icon

Desafio

Fácil

Você 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_Dev

Se 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 fornecida

Experimente 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"
quiz iconTeste seus conhecimentos

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