0Pricing
Swift Academy · Aula

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

  1. Operador de Coalescência de Nil
  2. Encadeamento de Valores Padrão
  3. Valores Padrão em Parâmetros de Funções
  4. Subscritos Padrão de Dicionários
← Voltar para Swift Academy