Sobes.tech
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