Sobes.tech
Junior

Existem funções de primeira classe na linguagem de programação Swift?

sobes.tech IA

Resposta da IA

Sim, em Swift as funções são funções de primeira classe.

Isto significa que as funções podem:

  • Atribuir-se a variáveis e constantes.
  • Ser passadas como argumentos para outras funções.
  • Ser retornadas por outras funções.

Exemplo de atribuição de uma função a uma variável:

func greet(name: String) -> String {
    return "Olá, \(name)!"
}

let greetingFunction = greet

print(greetingFunction("Mundo")) // Saída: Olá, Mundo!

Exemplo de passar uma função como argumento:

func applyOperation(value: Int, operation: (Int) -> Int) -> Int {
    return operation(value)
}

func double(number: Int) -> Int {
    return number * 2
}

let result = applyOperation(value: 5, operation: double)
print(result) // Saída: 10

Exemplo de devolver uma função de outra função:

func makeMultiplier(factor: Int) -> (Int) -> Int {
    func multiplier(number: Int) -> Int {
        return number * factor
    }
    return multiplier
}

let multiplyByThree = makeMultiplier(factor: 3)
print(multiplyByThree(4)) // Saída: 12