Sobes.tech
Junior

Има ли функции от първо ниво в езика за програмиране Swift?

sobes.tech AI

Отговор от AI

Да, в Swift функциите са функции от първи клас.

Това означава, че функциите могат:

  • Да бъдат присвоявани на променливи и константи.
  • Да бъдат предавани като аргументи към други функции.
  • Да бъдат връщани от други функции.

Пример за присвояване на функция към променлива:

func greet(name: String) -> String {
    return "Здравей, \(name)!"
}

let greetingFunction = greet

print(greetingFunction("Свет")) // Изход: Здравей, Свет!

Пример за предаване на функция като аргумент:

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) // Изход: 10

Пример за връщане на функция от друга функция:

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

let multiplyByThree = makeMultiplier(factor: 3)
print(multiplyByThree(4)) // Изход: 12