0Pricing
Swift Academy · Aula

Introdução aos optionals: ?, nil, if let, guard let e ??

Conheça os optionals: declare-os com ?, represente valores ausentes com nil e desembrulhe-os usando if let, guard let e ??.

Introdução aos optionals: ?, nil, if let, guard let e ?? é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 3 de 3. 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 3 aulas no total.

O que é um opcional?

Os opcionais representam um valor que pode estar presente ou ser nil. Adicione ? a um tipo para torná-lo opcional.

  • Trate a ausência explicitamente
  • Evita muitos travamentos

Vinculação com if let

Declare com ? e depois use if let para desembrulhar o valor com segurança quando ele estiver presente.

var nickname: String? = nil
print("nickname =", String(describing: nickname))

// Optional binding with if let
let input: String? = "Ada"
if let name = input {
    print("Hello, \\(name)")
} else {
    print("No name")
}

guard let

guard let desembrulha o valor e sai antecipadamente quando encontra nil, mantendo o código simples e legível.

func greet(_ maybeName: String?) {
    guard let name = maybeName else {
        print("Missing name"); return
    }
    print("Hi, \\(name)!")
}
greet(nil)
greet("Grace")

Coalescência de nil (??)

Use ?? para fornecer um valor padrão quando o opcional for nil.

let provided: String? = nil
let username = provided ?? "Guest"
print("Username:", username)

Encadeamento de opcionais

O encadeamento de opcionais (?.) interrompe o encadeamento quando qualquer ligação é nil.

struct Profile { var city: String? }
struct User { var profile: Profile? }

let u1 = User(profile: Profile(city: "Paris"))
let u2 = User(profile: nil)

// Optional chaining safely traverses missing links
print(u1.profile?.city?.uppercased() ?? "No city")  // "PARIS"
print(u2.profile?.city ?? "No city")                // "No city"

Dicas e armadilhas

Dicas:

  • Evite ! (desembrulhamento forçado), a menos que tenha certeza absoluta de que o valor não é nil.
  • Prefira if let ou guard let para manter o código claro.
  • Use ?? para fornecer valores padrão seguros.

Comportamento de guard let

Verificação rápida: O que faz guard let?

Revisão

Revisão: Declare opcionais com ?, represente a ausência com nil, desembrulhe valores usando if let ou guard let e forneça valores padrão com ??. Use o encadeamento de opcionais para percorrer valores com segurança.

Perguntas Frequentes

A aula “Introdução aos optionals: ?, nil, if let, guard let e ??” é grátis?

Sim — o texto completo de “Introdução aos optionals: ?, nil, if let, guard let e ??” é 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 3 aulas no total.

O que vou aprender em “Introdução aos optionals: ?, nil, if let, guard let e ??”?

Conheça os optionals: declare-os com ?, represente valores ausentes com nil e desembrulhe-os usando if let, guard let e ??. 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 3 de 3.

Quanto tempo leva a aula “Introdução aos optionals: ?, nil, if let, guard let e ??”?

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. let versus var, inferência de tipos, literais e tuplas
  2. Tipos básicos: números, Bool, String e Character
  3. Introdução aos optionals: ?, nil, if let, guard let e ??
← Voltar para Swift Academy