I denne artikkelen lærer du alt om funksjoner, hva er en funksjon, syntaks, typer i Swift med eksempler.
Hva er en funksjon?
En funksjon er en gruppe utsagn som definerer en handling som skal utføres. Hovedbruken av en funksjon er å gjøre koden gjenbrukbar.
Ikke teknisk kan du tenke på en funksjon som en maskin. En maskin utfører en bestemt oppgave, ber om input, behandler input og returnerer output.
Typer funksjoner
Avhengig av om en funksjon er forhåndsdefinert eller opprettet av programmerer; det er to typer funksjoner:
- Biblioteksfunksjoner - Funksjoner som allerede er definert i Swift Framework.
- Brukerdefinerte funksjoner - Funksjoner opprettet av programmereren selv.
Biblioteksfunksjoner
Biblioteksfunksjoner er innebygde funksjoner som allerede er definert i Swift framework. Disse funksjonene er til stede for å løse vanlige problemer i Swift, slik at du ikke trenger å løse dem selv. De er enkle operasjoner som utskrift, å finne minimum og maksimum, etc.
Du kan bruke biblioteksfunksjonen direkte ved å påkalle (ringe) den. Hvis du vil, kan du se alle funksjonene i Swift-rammeverket. Bare skriv import Swift, trykk Cmd og klikk på den. Du navigerer til en ny side. Søk i alle utsagnene og begynn med func
nøkkelord.
Eksempel 1: Bibliotek eller innebygd funksjon
print("Hello, World!")
Når du kjører programmet ovenfor, vil utdataene være:
Hei Verden!
I programmet ovenfor har vi påkalt en innebygd print
funksjon definert i Swift Framework. Funksjonen brukes til å skrive ut utdata i konsollen.
Vi kan ringe print()
funksjonen fordi Swift framework automatisk importeres til lekeplassen vår. Ellers burde vi ha importert den selv ved å skrive import Swift
.
Brukerdefinerte funksjoner
Swift lar deg også definere din egen funksjon. Å lage din egen funksjon hjelper deg med å skrive kode for å løse problemer eller utføre oppgaver som ikke er tilgjengelige i Swift Framework. Du kan også bruke funksjonen din til å utføre lignende oppgaver i fremtiden.
På samme måte kan funksjoner også kategoriseres på grunnlag av parametere og returuttalelser. Se artikkelen Parametertyper og returtyper for Swift Function.
Definere en funksjon
funk funksjonsnavn (args…) -> ReturnType (// setningsreturverdi)
La oss beskrive hver komponent i korte trekk:
func
er nøkkelordet du må skrive for å opprette en funksjonfunction_name
er navnet på en funksjon. Du kan gi det et hvilket som helst navn som definerer hva en funksjon gjør.args…
definerer inngangen en funksjon godtar.->
Denne operatøren brukes til å indikere returtypen til en funksjon.ReturnType
definerer typen verdi du kan returnere fra en funksjon. F.eksInt
.String
Osv.return
nøkkelord brukes til å overføre kontrollen av et program til funksjonsanropet og også returnere verdien fra en funksjon.
Selv om du ikke spesifiserer returordet, returnerer funksjonen automatisk etter utføring av siste uttalelse.value
representerer de faktiske dataene som returneres fra funksjonen. Verditypen må samsvare medReturnType
.
Hvordan fungerer funksjonen?
I diagrammet ovenfor function_name(args)
påkaller / kaller setningen funksjonen med argumentverdier args, som deretter forlater den gjeldende delen av koden (dvs. slutter å utføre setninger under den) og begynner å utføre den første linjen inne i funksjonen.
- Programmet kommer til en kodelinje
func function_name(Args… )
og aksepterer verdiene args sendt under funksjonsanropetfunction_name(args)
. - Programmet utfører deretter utsagnene som er
statementsInsideFunction
definert i funksjonen. - Uttalelsene inne i funksjonen utføres i topp til bunn rekkefølge, den ene etter den andre.
- Etter gjennomføringen av den siste setningen, program blader funksjonen og går tilbake til der den startet fra f.eks
function_name(args)
. let val =
lagrer verdien som returneres fra funksjonen i en konstant verdi. På samme måte kan du lagre i en variabel somvar val =
.- Etter det blir uttalelser
statementsOutsideFunction
utført.
Eksempel 2: Hvordan definere en funksjon i Swift?
func greet(user:String) ( print("Good Morning! (user)") )
Ovenfor vises en funksjonsdefinisjon som består av følgende komponenter:
- Nøkkelord
func
markerer starten på funksjonsoverskriften. greet
er et funksjonsnavn for å identifisere og ringe funksjonen i programmet.(user:String)
markerer slutten på funksjonsoverskriften og godtar en parameterparameterString
. Se artikkelen Swift Funksjon Parametertyper og Returtyper som definerer funksjon med parametere.- Funksjonen består av en
print
uttalelse inne i kroppen som utføres etter at du har ringt funksjonen.
Ringer til en funksjon
Når du har opprettet en funksjon, kan du ringe den i programmet for å utføre uttalelsene som er erklært i funksjonen. For å ringe til en funksjon, skriver du bare funksjonsnavnet etterfulgt av () og sender inngangsparametrene i den som:
hilsen (bruker: "Isac")
Eksempel 3: Ringe til en funksjon i Swift
func greet(user:String) ( print("Good Morning! (user)") ) greet(user: "Isac")
Når du kjører programmet ovenfor, vil utdataene være:
God morgen! Isac
I koden ovenfor, greet(user: "Isac")
kaller funksjonen og sender verdien Isac
av typen String
. Etter det print
kjøres uttalelse inne i funksjonen.
Returuttalelse
Retur nøkkelordet ber programmet om å forlate funksjonen og gå tilbake til linjen der funksjonssamtalen ble foretatt.
Du kan også overføre verdi med return
nøkkelordet der verdien er en variabel eller annen informasjon som kommer tilbake fra funksjonen.
Eksempel 3: Funksjon med returord
func greet(user:String)-> String ( return "Good Morning! (user)" ) let greeting = greet(user: "Isac") print(""" You have a new message (greeting) """)
Når du kjører programmet ovenfor, vil utdataene være:
Du har en ny melding God morgen! Isac
I koden ovenfor, greet(user: "Isac")
kaller funksjonen og sender verdien Isac
av typen String
. return "Good Morning! (user)"
uttalelse returnerer verdien av typen String
og overfører programmet til funksjonsanropet.
let greeting =
lagrer verdien som returneres fra funksjonen. Etter at funksjonen er tilbake, print
utføres setningen under funksjonsanropet.
Ting å huske
- Gi et funksjonsnavn som gjenspeiler formålet med funksjonen.
- En funksjon skal bare utføre en oppgave. Hvis en funksjon gjør mer enn én oppgave, kan du dele den opp i flere funksjoner.
- Prøv å tenke tidlig og gruppere uttalelser i en funksjon som gjør koden gjenbrukbar og modulær.