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