Valores padrão
Parte da seção Fundamentos do Journey de Swift da Coddy. Lição 57 de 86.
Às vezes, um parâmetro tem um valor que é usado na maior parte do tempo. Em vez de exigir que quem chama o forneça todas as vezes, você pode atribuir um valor padrão a esse parâmetro.
Para definir um valor padrão, use o operador de atribuição (=) após o tipo do parâmetro:
func greet(name: String, greeting: String = "Hello") {
print("\(greeting), \(name)!")
}
greet(name: "Alice") // Saída: Hello, Alice!
greet(name: "Bob", greeting: "Hi") // Saída: Hi, Bob!Ao chamar a função, você pode omitir parâmetros que tenham valores padrão. Swift usará o padrão automaticamente. Mas, se precisar de um valor diferente, ainda poderá fornecer um explicitamente.
Parâmetros com valores padrão devem ser colocados no final da lista de parâmetros. Isso mantém as chamadas de função limpas e fáceis de ler:
func calculatePrice(base: Double, taxRate: Double = 0.1) -> Double {
return base + (base * taxRate)
}
print(calculatePrice(base: 100)) // Saída: 110.0
print(calculatePrice(base: 100, taxRate: 0.2)) // Saída: 120.0Valores padrão tornam suas funções mais flexíveis. Elas funcionam de forma simples para casos comuns, enquanto ainda permitem personalização quando necessário.
Desafio
FácilEscreva uma função formatGreeting que receba name, greeting e repeatCount e retorne uma mensagem de saudação formatada.
A função deve usar valores padrão para os parâmetros opcionais:
greetingdeve ter como padrão"Hello"repeatCountdeve ter como padrão1
Construa uma string que repita o padrão de saudação o número de vezes especificado, separada por espaços.
Parâmetros:
name(String): O nome da pessoa (obrigatório)greeting(String): A palavra de saudação (padrão:"Hello")repeatCount(Int): Quantas vezes repetir a saudação (padrão:1)
Retorna: Uma string com o padrão de saudação repetido. Formato: "[greeting], [name]!" repetido repeatCount vezes, separado por um único espaço (String)
Por exemplo, se name for "Alice", greeting for "Hi" e repeatCount for 2, a função retornará "Hi, Alice! Hi, Alice!".
Se for chamada apenas com name como "Bob" (usando os valores padrão), ela retornará "Hello, Bob!".
Experimente você mesmo
func formatGreeting(name: String, greeting: String, repeatCount: Int) -> String {
// Escreva o código aqui
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
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