Swift Academy · Aula

Subscritos Padrão de Dicionários

Leia valores de dicionários usando padrões integrados.

Aula 4 de 413 etapas

Subscritos Padrão de Dicionários é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 4 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.

Consultas em Dicionários São Opcionais

Consultar uma chave usando dict[key] retorna um opcional, pois a chave pode não existir. Esse opcional precisa ser tratado.

let ages = ["Ann": 30]
let bob = ages["Bob"]
print(bob as Any)

O Subscrito com Valor Padrão

O Swift oferece um subscrito com valor padrão: dict[key, default: value]. Se a chave estiver ausente, você obterá o padrão em vez de nil.

let ages = ["Ann": 30]
print(ages["Bob", default: 0])
print(ages["Ann", default: 0])

O Resultado Não é Opcional

Diferentemente de uma consulta comum, o subscrito com valor padrão retorna um valor não opcional, que pode ser usado imediatamente sem desembrulhamento.

let stock = ["pen": 5]
let pens: Int = stock["pen", default: 0]
print(pens + 1)

Contando com Valores Padrão

O subscrito com valor padrão é especialmente útil para contar ocorrências. Comece cada chave em 0 e some conforme avança.

var counts: [String: Int] = [:]
let words = ["a", "b", "a", "a", "b"]
for word in words {
    counts[word, default: 0] += 1
}
print(counts["a", default: 0])
print(counts["b", default: 0])

Por que += Funciona

Como dict[key, default: 0] fornece um valor real mesmo para uma chave nova, você pode alterá-lo diretamente com segurança usando +=.

var tally: [String: Int] = [:]
tally["x", default: 0] += 5
tally["x", default: 0] += 3
print(tally["x", default: 0])

Somando por Grupo

Você pode acumular somas por categoria em uma única passagem usando o subscrito com valor padrão.

let sales = [("apple", 3), ("pear", 2), ("apple", 4)]
var totals: [String: Int] = [:]
for (item, amount) in sales {
    totals[item, default: 0] += amount
}
print(totals["apple", default: 0])

Valor Padrão versus Coalescência de Nulos

dict[key, default: 0] equivale a dict[key] ?? 0 para leitura, mas a forma com subscrito também permite alterações diretas.

let prices = ["tea": 3]
print(prices["tea"] ?? 0)
print(prices["tea", default: 0])

Adicionando a Valores de Vetores

O subscrito com valor padrão também funciona com valores que são arrays, permitindo criar listas agrupadas.

var groups: [String: [Int]] = [:]
groups["even", default: []].append(2)
groups["even", default: []].append(4)
print(groups["even", default: []])

Padrões Não Inserem Valores

Ler com um padrão não adiciona a chave ao dicionário. A chave só é armazenada quando você altera o valor, por exemplo, com +=.

var data: [String: Int] = [:]
_ = data["ghost", default: 0]
print(data.count)
data["real", default: 0] += 1
print(data.count)

Escolhendo um Padrão Adequado

Escolha um padrão que corresponda ao tipo do valor e à operação: 0 para somas, [] para listas e uma string vazia para texto.

var notes: [String: String] = [:]
notes["greeting", default: ""] += "Hello"
notes["greeting", default: ""] += " World"
print(notes["greeting", default: ""])

Combinando Contagens e Leituras

Crie um mapa de frequências e depois leia-o usando o mesmo padrão para manter valores não opcionais durante todo o processo.

var freq: [Character: Int] = [:]
for ch in "banana" {
    freq[ch, default: 0] += 1
}
print(freq["a", default: 0])
print(freq["z", default: 0])

Verificação Rápida

Teste o subscrito com valor padrão.

Resumo: Subscritos com Valor Padrão em Dicionários

Use dict[key, default: value] para ler uma alternativa não opcional e alterar valores diretamente. Esse recurso é ideal para contar, somar e agrupar sem verificações manuais de valores nulos.

var c: [String: Int] = [:]
for x in ["a", "a", "b"] { c[x, default: 0] += 1 }
print(c["a", default: 0])
Grátis para começar

Aprenda Swift com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
122
Aulas
409

Perguntas Frequentes

A aula “Subscritos Padrão de Dicionários” é grátis?

Sim — o texto completo de “Subscritos Padrão de Dicionários” é 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 “Subscritos Padrão de Dicionários”?

Leia valores de dicionários usando padrões integrados. 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 4 de 4.

Quanto tempo leva a aula “Subscritos Padrão de Dicionários”?

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