Sobes.tech
Junior

¿Existen funciones de primera clase en el lenguaje de programación Swift?

sobes.tech AI

Respuesta de la IA

Sí, en Swift las funciones son funciones de primera clase.

Esto significa que las funciones pueden:

  • Asignarse a variables y constantes.
  • Pasarse como argumentos a otras funciones.
  • Ser devueltas desde otras funciones.

Ejemplo de asignación de una función a una variable:

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

let greetingFunction = greet

print(greetingFunction("Mundo")) // Salida: ¡Hola, Mundo!

Ejemplo de pasar una función 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) // Salida: 10

Ejemplo de devolver una función desde otra función:

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

let multiplyByThree = makeMultiplier(factor: 3)
print(multiplyByThree(4)) // Salida: 12