Menu
Coddy logo textTech

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.0

Valores 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.

challenge icon

Desafio

Fácil
Escreva 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:

  • greeting deve ter como padrão "Hello"
  • repeatCount deve ter como padrão 1

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
}
quiz iconTeste seus conhecimentos

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

Pratique por conta própria: Playground de Swift