Sobes.tech
Junior

Kas Swift programmeerimiskeeles on esimese klassi funktsioone?

sobes.tech AI

Vastus AI-lt

Jah, Swiftis on funktsioonid esimese klassi funktsioonid.

See tähendab, et funktsioonid võivad:

  • Omistada end muutujatele ja konstantidele.
  • Edastada argumentidena teistele funktsioonidele.
  • Tagastada teistest funktsioonidest.

Näide funktsiooni omistamisest muutujale:

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

let greetingFunction = greet

print(greetingFunction("Maailm")) // Väljund: Tere, Maailm!

Näide funktsiooni argumentina edastamisest:

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) // Väljund: 10

Näide funktsiooni tagastamisest teise funktsiooni seest:

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

let multiplyByThree = makeMultiplier(factor: 3)
print(multiplyByThree(4)) // Väljund: 12