Sobes.tech
Junior

Vai Swift programmēšanas valodā ir funkcijas pirmās klases?

sobes.tech AI

Atbilde no AI

Jā, Swift funkcijas ir pirmās klases funkcijas.

Tas nozīmē, ka funkcijas var:

  • Tikt piešķirtas mainīgajiem un konstantiem.
  • Tikt nodotas kā argumenti citām funkcijām.
  • Tikt atgrieztas no citām funkcijām.

Piemērs, kā piešķirt funkciju mainīgajam:

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

let greetingFunction = greet

print(greetingFunction("Pasaule")) // Izvade: Sveiki, Pasaule!

Piemērs, kā nodot funkciju kā 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) // Izvade: 10

Piemērs, kā atgriezt funkciju no citas funkcijas:

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

let multiplyByThree = makeMultiplier(factor: 3)
print(multiplyByThree(4)) // Izvade: 12