En aquest tema, aprendrem com definir funcions amb paràmetres i valors de retorn en Swift. Les funcions són blocs de codi reutilitzables que poden acceptar dades d'entrada (paràmetres) i retornar un resultat. Això ens permet escriure codi més modular i mantenible.

Definició de Funcions amb Paràmetres

Els paràmetres permeten passar informació a una funció. A Swift, els paràmetres es defineixen dins dels parèntesis després del nom de la funció.

Sintaxi Bàsica

func nomDeLaFuncio(paràmetre1: Tipus1, paràmetre2: Tipus2) {
    // Codi de la funció
}

Exemple

func saludar(nom: String) {
    print("Hola, \(nom)!")
}

saludar(nom: "Anna") // Sortida: Hola, Anna!

En aquest exemple, la funció saludar accepta un paràmetre de tipus String anomenat nom.

Valors de Retorn

Les funcions poden retornar un valor utilitzant la paraula clau -> seguida del tipus de retorn.

Sintaxi Bàsica

func nomDeLaFuncio(paràmetre1: Tipus1, paràmetre2: Tipus2) -> TipusDeRetorn {
    // Codi de la funció
    return valorDeRetorn
}

Exemple

func sumar(a: Int, b: Int) -> Int {
    return a + b
}

let resultat = sumar(a: 5, b: 3) // resultat és 8

En aquest exemple, la funció sumar accepta dos paràmetres de tipus Int i retorna un valor de tipus Int.

Paràmetres amb Nom i Sense Nom

A Swift, els paràmetres poden tenir noms externs i interns. El nom extern s'utilitza quan es crida la funció, mentre que el nom intern s'utilitza dins de la funció.

Exemple

func restar(primerNombre a: Int, segonNombre b: Int) -> Int {
    return a - b
}

let resultat = restar(primerNombre: 10, segonNombre: 4) // resultat és 6

En aquest exemple, primerNombre i segonNombre són els noms externs, mentre que a i b són els noms interns.

Paràmetres per Defecte

Swift permet definir valors per defecte per als paràmetres. Això és útil quan volem que una funció tingui valors predeterminats si no es proporcionen arguments.

Exemple

func multiplicar(a: Int, b: Int = 2) -> Int {
    return a * b
}

let resultat1 = multiplicar(a: 3) // resultat1 és 6
let resultat2 = multiplicar(a: 3, b: 4) // resultat2 és 12

En aquest exemple, el paràmetre b té un valor per defecte de 2.

Paràmetres Variàdics

Els paràmetres variàdics permeten passar un nombre variable d'arguments a una funció. Aquests arguments es tracten com una matriu del tipus especificat.

Exemple

func sumarTots(_ nombres: Int...) -> Int {
    var suma = 0
    for nombre in nombres {
        suma += nombre
    }
    return suma
}

let resultat = sumarTots(1, 2, 3, 4, 5) // resultat és 15

En aquest exemple, la funció sumarTots accepta un nombre variable d'arguments de tipus Int.

Exercicis Pràctics

Exercici 1

Escriu una funció anomenada multiplicar que accepti dos paràmetres a i b de tipus Int i retorni el seu producte.

Solució

func multiplicar(a: Int, b: Int) -> Int {
    return a * b
}

let resultat = multiplicar(a: 4, b: 5) // resultat és 20

Exercici 2

Escriu una funció anomenada saludar que accepti un paràmetre nom de tipus String i un paràmetre opcional missatge de tipus String amb un valor per defecte de "Hola". La funció ha de retornar una cadena que combini el missatge i el nom.

Solució

func saludar(nom: String, missatge: String = "Hola") -> String {
    return "\(missatge), \(nom)!"
}

let salutacio1 = saludar(nom: "Anna") // salutacio1 és "Hola, Anna!"
let salutacio2 = saludar(nom: "Anna", missatge: "Bon dia") // salutacio2 és "Bon dia, Anna!"

Resum

En aquesta secció, hem après com definir funcions amb paràmetres i valors de retorn a Swift. Hem vist com utilitzar paràmetres amb nom i sense nom, paràmetres per defecte i paràmetres variàdics. També hem practicat amb alguns exercicis per reforçar els conceptes apresos. En la següent secció, explorarem les closures, una característica poderosa de Swift per treballar amb funcions com a valors.

© Copyright 2024. Tots els drets reservats