Subscritos Padrão de Dicionários
Leia valores de dicionários usando padrões integrados.
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])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
- 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