Recapitulação - Desembrulhamento Seguro
Parte da seção Fundamentos do Journey de Swift da Coddy. Lição 15 de 86.
Desafio
FácilEscreva uma função formatPlayerInfo que receba o name, o score e o level de um jogador como strings e retorne um resumo formatado do jogador.
Use as três técnicas de desembrulhamento que você aprendeu para lidar com valores potencialmente ausentes:
- Use
guard letpara verificar se o nome é válido (não vazio). Se o nome estiver vazio, retorne"Unknown player"imediatamente. - Use
??(coalescência de nil) para fornecer uma pontuação padrão de"0"se a pontuação estiver vazia. - Use
if letpara verificar se o nível é válido (não vazio). Se ele tiver um valor, inclua-o na saída; caso contrário, omita a parte do nível.
Formato da saída:
- Se o nível for fornecido:
"[name] - Score: [score], Level: [level]" - Se o nível estiver vazio:
"[name] - Score: [score]"
Parâmetros:
name(String): Nome do jogador (uma string vazia representa nil)score(String): Pontuação do jogador (uma string vazia representa nil)level(String): Nível do jogador (uma string vazia representa nil)
Retorno: Uma string formatada com as informações do jogador, ou "Unknown player" se o nome estiver vazio.
Dica: Converta strings vazias em optionals dentro da sua função verificando se elas estão vazias e atribuindo nil nesse caso.
Experimente você mesmo
func formatPlayerInfo(name: String, score: String, level: String) -> String {
// Escreva o código aqui
}
Todas as lições de Fundamentos
4Operadores - Parte 1
Operadores aritméticosOperador móduloAtribuição compostaRecapitulação - Matemática simplesOperadores de comparação7Entrada e Saída Básicas
Função printInterpolação de stringsEntrada com readlineConversão de tiposRecapitulação - Até 120Recapitulação - Verdadeiro ou falso10Funções
Declare uma funçãoParâmetros e argumentosValores de retornoRótulos de argumentosRevisão - função SigmaRevisão - função de validaçãoValores padrão13Iterando sobre Sequências
Iterando sobre ElementosO Método EnumeradoIterando sobre Strings P1Iterando sobre Strings P22Variáveis
Let vs VarAnotações de tipoNúmerosStringBooleanoConvenções de nomenclaturaRecapitulação - Inicializar variáveis5Operadores — Parte 2
Operadores lógicos — Parte 1Operadores lógicos — Parte 2Revisão — Lógica simplesOperadores lógicos — Parte 3Operador ternário8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo Dados de Entrada11FizzBuzz com um Toque Especial
Visão Geral do JogoA Função FizzBuzz3Optionais
O que são OptionaisDesembrulhando com If LetGuard LetOperador de Coalescência de NilRecapitulação - Desembrulhamento Seguro6Tomada de Decisões
Instrução IfIf - ElseRecapitulação - Calculadora SimplesInstrução SwitchSwitch com Intervalos9Laços de Repetição
Laço For-InLaço WhileLaço Repeat-WhileBreakContinueRevisão - FatorialIntervalos em LaçosLaço AninhadoRevisão - Entrada Dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando ElementosModificando ArraysMétodos de ArrayRevisão - Lista de ProdutosRevisão - Array InvertidoTuplas15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do ProgramaPratique por conta própria: Playground de Swift