Operador de Coalescência de Nil
Forneça um valor padrão quando um opcional for nil.
Operador de Coalescência de Nil é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.
O Problema dos Valores Nulos
Um opcional pode conter um valor ou ser nil. Muitas vezes, você quer usar o valor quando ele estiver presente ou recorrer a um valor padrão quando ele for nil.
let typedName: String? = nil
let name = typedName ?? "Guest"
print(name)O Operador ??
O operador de coalescência de nulos ?? recebe um opcional à esquerda e um valor padrão à direita. Se o opcional não for nulo, você obterá seu valor desembrulhado; caso contrário, obterá o valor padrão.
let stored: Int? = 42
let value = stored ?? 0
print(value)O Padrão Só é Usado para Valores Nulos
O valor padrão à direita só é usado quando o lado esquerdo é nil. Um valor presente, mesmo 0 ou uma string vazia, é mantido.
let count: Int? = 0
let result = count ?? 99
print(result)O Resultado Não é Opcional
A expressão optional ?? default produz um valor não opcional, pois sempre há algo a usar como alternativa.
let nickname: String? = nil
let display: String = nickname ?? "Anonymous"
print(display)Substituindo if let
Sem ??, você escreveria um if/else para desembrulhar o valor e fornecer um padrão. A coalescência de nulos reduz isso a uma única expressão.
let age: Int? = nil
var finalAge: Int
if let unwrapped = age {
finalAge = unwrapped
} else {
finalAge = 18
}
print(finalAge)A Mesma Lógica com ??
Veja o exemplo anterior reescrito com coalescência de nulos. Ele é mais curto e sua intenção fica evidente.
let age: Int? = nil
let finalAge = age ?? 18
print(finalAge)Coalescência na Interpolação
Você pode inserir ?? diretamente dentro da interpolação de strings para exibir uma alternativa amigável.
let city: String? = nil
print("City: \(city ?? "Unknown")")A Partir de Conversões que Podem Falhar
Converter uma String em um Int retorna um opcional. A coalescência de nulos fornece um valor padrão quando o texto não é um número.
let text = "abc"
let number = Int(text) ?? -1
print(number)Coalescência com Dicionários
Consultar uma chave em um dicionário retorna um opcional. Use ?? para fornecer uma alternativa quando a chave estiver ausente.
let scores = ["Ann": 90]
let bob = scores["Bob"] ?? 0
print(bob)O Padrão Pode Ser Calculado
O lado direito pode ser qualquer expressão do tipo correto, até mesmo uma chamada de função. Ela só é avaliada quando necessário.
func defaultName() -> String {
return "Player1"
}
let entered: String? = nil
print(entered ?? defaultName())Os Tipos Devem Ser Compatíveis
O padrão precisa ser compatível com o tipo encapsulado pelo opcional. Um Int? precisa de um padrão Int.
let maybe: Int? = nil
let safe = maybe ?? 100
print(safe + 1)Verificação Rápida
Teste a coalescência de nulos.
Resumo: O Operador de Coalescência de Nulos
O operador ?? desembrulha um opcional ou recorre a um valor padrão, produzindo um resultado não opcional. O padrão só é usado quando o opcional é nil.
let input: String? = nil
let name = input ?? "Default"
print(name)Perguntas Frequentes
A aula “Operador de Coalescência de Nil” é grátis?
Sim — o texto completo de “Operador de Coalescência de Nil” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.
O que vou aprender em “Operador de Coalescência de Nil”?
Forneça um valor padrão quando um opcional for nil. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Swift Academy?
Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Operador de Coalescência de Nil”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Swift Academy?
Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Operador de Coalescência de Nil
- Encadeamento de Valores Padrão
- Valores Padrão em Parâmetros de Funções
- Subscritos Padrão de Dicionários