Sobes.tech
Junior

Existují ve Swiftu funkce první třídy?

sobes.tech AI

Odpověď od AI

Ano, ve Swiftu jsou funkce funkcemi první třídy.

To znamená, že funkce mohou:

  • Přiřazovat se proměnným a konstantám.
  • Převádět se jako argumenty do jiných funkcí.
  • Vracet se z jiných funkcí.

Příklad přiřazení funkce k proměnné:

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

let greetingFunction = greet

print(greetingFunction("Svět")) // Výstup: Ahoj, Svět!

Příklad předání funkce jako argumentu:

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) // Výstup: 10

Příklad vrácení funkce z jiné funkce:

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

let multiplyByThree = makeMultiplier(factor: 3)
print(multiplyByThree(4)) // Výstup: 12