Junior
Ar Swift programavimo kalboje yra pirmosios klasės funkcijų?
sobes.tech AI
Atsakymas iš AI
Taip, Swift funkcijos yra pirmosios klasės funkcijos.
Tai reiškia, kad funkcijos gali:
- būti priskirtos kintamiesiems ir konstantoms.
- būti perduotos kaip argumentai kitoms funkcijoms.
- būti grąžintos iš kitų funkcijų.
Pavyzdys, kaip priskirti funkciją kintamajam:
func greet(name: String) -> String {
return "Labas, \(name)!"
}
let greetingFunction = greet
print(greetingFunction("Pasauli")) // Išvestis: Labas, Pasauli!
Pavyzdys, kaip perduoti funkciją kaip argumentą:
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) // Išvestis: 10
Pavyzdys, kaip grąžinti funkciją iš kitos funkcijos:
func makeMultiplier(factor: Int) -> (Int) -> Int {
func multiplier(number: Int) -> Int {
return number * factor
}
return multiplier
}
let multiplyByThree = makeMultiplier(factor: 3)
print(multiplyByThree(4)) // Išvestis: 12