I denne artikel lærer du alt om funktioner, hvad der er en funktion, syntaks, typer i Swift med eksempler.
Hvad er en funktion?
En funktion er en gruppe udsagn, der definerer en handling, der skal udføres. Den vigtigste anvendelse af en funktion er at gøre koden genanvendelig.
Ikke teknisk kan du tænke på en funktion som en maskine. En maskine udfører en bestemt opgave, beder om input, behandler input og returnerer output.
Typer af funktioner
Afhængigt af om en funktion er foruddefineret eller oprettet af programmør; der er to typer funktioner:
- Biblioteksfunktioner - Funktioner, der allerede er defineret i Swift Framework.
- Brugerdefinerede funktioner - Funktioner oprettet af programmøren selv.
Biblioteksfunktioner
Biblioteksfunktioner er indbyggede funktioner, der allerede er defineret i Swift framework. Disse funktioner er til stede for at løse almindelige problemer i Swift, så du ikke selv behøver at løse dem. De er enkle handlinger som udskrivning, at finde minimum og maksimum osv.
Du kan bruge biblioteksfunktionen direkte ved at påkalde (kalde) den. Hvis du vil, kan du se alle funktionerne inden for Swift-rammen. Skriv bare import Swift, tryk på Cmd og klik på den. Du navigerer til en ny side. Søg i alle udsagn startende med func
nøgleord.
Eksempel 1: Bibliotek eller indbygget funktion
print("Hello, World!")
Når du kører ovenstående program, vil output være:
Hej Verden!
I ovenstående program har vi påberåbt en indbygget print
funktion defineret i Swift Framework. Funktionen bruges til at udskrive output i konsollen.
Vi er i stand til at ringe til print()
funktion, fordi Swift framework automatisk importeres til vores legeplads. Ellers skulle vi have importeret det selv ved at skrive import Swift
.
Brugerdefinerede funktioner
Swift giver dig også mulighed for at definere din egen funktion. Oprettelse af din egen funktion hjælper med at skrive kode for at løse problemer eller udføre opgaver, der ikke er tilgængelige i Swift Framework. Du kan også genbruge din funktion til at udføre lignende opgaver i fremtiden.
Ligeledes kan funktioner også kategoriseres på baggrund af parametre og returneringserklæringer. Se artiklen Swift-funktions parametertyper og returtyper.
Definition af en funktion
funk funktionsnavn (args…) -> ReturnType (// sætnings returværdi)
Lad os kort beskrive hver komponent:
func
er det nøgleord, du skal skrive for at oprette en funktionfunction_name
er navnet på en funktion. Du kan give det ethvert navn, der definerer, hvad en funktion gør.args…
definerer det input, en funktion accepterer.->
Denne operatør bruges til at angive returtypen for en funktion.ReturnType
definerer typen af en værdi, du kan returnere fra en funktion. F.eksInt
.String
Osv.return
nøgleord bruges til at overføre styringen af et program til funktionsopkaldet og også returnere værdi fra en funktion.
Selvom du ikke angiver returordet, returnerer funktionen automatisk efter udførelse af sidste udsagn.value
repræsenterer de faktiske data, der returneres fra funktionen. Værditypen skal matcheReturnType
.
Hvordan fungerer funktionen?
I ovenstående diagram function_name(args)
påkalder / kalder udsagnet funktionen med argumentværdier args, som derefter forlader det aktuelle afsnit af kode (dvs. stopper med at udføre udsagn under det) og begynder at udføre den første linje inde i funktionen.
- Programmet kommer til en linje med kode
func function_name(Args… )
og accepterer de argsværdier, der er sendt under funktionsopkaldetfunction_name(args)
. - Programmet udfører derefter de udsagn, der er
statementsInsideFunction
defineret inde i funktionen. - Sætningerne inde i funktionen udføres i top til nederste rækkefølge, den ene efter den anden.
- Efter udførelsen af den sidste udtalelse, programmet blade funktionen og går tilbage til hvor det startede fra dvs
function_name(args)
. let val =
gemmer værdien, der returneres fra funktionen i en konstant værdi. På samme måde kan du gemme i en variabel somvar val =
.- Derefter
statementsOutsideFunction
udføres udsagn .
Eksempel 2: Hvordan defineres en funktion i Swift?
func greet(user:String) ( print("Good Morning! (user)") )
Ovenfor er vist en funktionsdefinition, der består af følgende komponenter:
- Nøgleord
func
markerer starten på funktionsoverskriften. greet
er et funktionsnavn, der entydigt identificerer og kalder funktion i programmet.(user:String)
markerer afslutningen på funktionsoverskriften og accepterer en parameter af typenString
. Se artiklen Swift-funktionsparametertyper og returtyper, der definerer funktion med parametre.- Funktionen består af en
print
erklæring inde i kroppen, der udføres, efter at du har ringet til funktionen.
Opkald til en funktion
Når du har oprettet en funktion, kan du kalde den i dit program for at udføre de erklæringer, der er erklæret inde i funktionen. For at kalde en funktion skal du blot skrive funktionsnavnet efterfulgt af () og sende inputparametrene inde i den som:
hilse (bruger: "Isac")
Eksempel 3: Opkald til en funktion i Swift
func greet(user:String) ( print("Good Morning! (user)") ) greet(user: "Isac")
Når du kører ovenstående program, vil output være:
God morgen! Isac
I ovenstående kode greet(user: "Isac")
kaldes funktionen og videregiver værdi Isac
af typen String
. Derefter print
udføres erklæring inde i funktionen.
Returerklæring
Nøgleordet returnerer programmet til at forlade funktionen og vende tilbage til den linje, hvor funktionsopkaldet blev foretaget.
Du kan også videregive værdi med return
nøgleordet, hvor værdien er en variabel eller anden information, der kommer tilbage fra funktionen.
Eksempel 3: Funktion med retur nøgleord
func greet(user:String)-> String ( return "Good Morning! (user)" ) let greeting = greet(user: "Isac") print(""" You have a new message (greeting) """)
Når du kører ovenstående program, vil output være:
Du har en ny besked God morgen! Isac
I ovenstående kode greet(user: "Isac")
kaldes funktionen og videregiver værdi Isac
af typen String
. return "Good Morning! (user)"
sætning returnerer værdien af typen String
og overfører programmet til funktionsopkaldet.
let greeting =
gemmer den værdi, der returneres fra funktionen. Når funktionen er vendt tilbage, print
udføres sætningen under funktionsopkaldet.
Ting at huske
- Giv et funktionsnavn, der afspejler funktionens formål.
- En funktion skal kun udføre en opgave. Hvis en funktion udfører mere end en opgave, skal du neddele den i flere funktioner.
- Prøv at tænke tidligt og gruppere udsagn i en funktion, der gør koden genanvendelig og modulær.