I den här artikeln lär du dig allt om funktioner, vad som är en funktion, syntax, typer i Swift med exempel.
Vad är en funktion?
En funktion är en grupp påståenden som definierar en åtgärd som ska utföras. Huvudanvändningen av en funktion är att göra koden återanvändbar.
Icke tekniskt kan du tänka på en funktion som en maskin. En maskin utför en specifik uppgift, ber om inmatning, bearbetar inmatningen och returnerar utmatningen.
Typer av funktioner
Beroende på om en funktion är fördefinierad eller skapad av programmeraren; det finns två typer av funktioner:
- Biblioteksfunktioner - Funktioner som redan har definierats i Swift Framework.
- Användardefinierade funktioner - Funktioner som skapats av programmeraren själva.
Biblioteksfunktioner
Biblioteksfunktioner är inbyggda funktioner som redan definierats i Swift-ramverket. Dessa funktioner finns för att lösa vanliga problem i Swift så att du inte behöver lösa dem själva. De är enkla operationer som att skriva ut, hitta minimum och maximum, etc.
Du kan använda biblioteksfunktionen direkt genom att anropa (ringa) den. Om du vill kan du se alla funktioner i Swift-ramverket. Skriv bara importera Swift, tryck på Cmd och klicka på den. Du kommer att navigera till en ny sida. Sök i alla uttalanden som börjar med func
nyckelord.
Exempel 1: Bibliotek eller inbyggd funktion
print("Hello, World!")
När du kör programmet ovan kommer utmatningen att vara:
Hej världen!
I ovanstående program har vi åberopat en inbyggd print
funktion definierad i Swift Framework. Funktionen används för att skriva ut utdata i konsolen.
Vi kan ringa print()
funktionen eftersom Swift framework automatiskt importeras till vår lekplats. Annars skulle vi ha importerat det själva genom att skriva import Swift
.
Användardefinierade funktioner
Swift låter dig också definiera din egen funktion. Att skapa din egen funktion hjälper till att skriva kod för att lösa problem eller utföra uppgifter som inte är tillgängliga i Swift Framework. Du kan också återanvända din funktion för att utföra liknande uppgifter i framtiden.
På samma sätt kan funktioner också kategoriseras utifrån parametrar och returuttalanden. Se artikeln Swift Function Parameter Typer och Return Types.
Definiera en funktion
funk funktionsnamn (args …) -> ReturnType (// uttalande returvärde)
Låt oss beskriva varje komponent i korthet:
func
är nyckelordet du måste skriva för att skapa en funktionfunction_name
är namnet på en funktion. Du kan ge det valfritt namn som definierar vad en funktion gör.args…
definierar ingången som en funktion accepterar.->
Den här operatören används för att ange återgångstypen för en funktion.ReturnType
definierar vilken typ av värde du kan returnera från en funktion. T.ex.Int
,String
etc.return
nyckelord används för att överföra kontrollen av ett program till funktionsanropet och även returnera värde från en funktion.
Även om du inte anger avkastningen sökord funktionen återgår automatiskt efter utförandet av sista uttalande.value
representerar den faktiska data som returneras från funktionen. Värdetypen måste matchaReturnType
.
Hur fungerar funktionen?
I ovanstående diagram function_name(args)
anropar / anropar funktionen funktionen med argumentvärden args, som sedan lämnar den aktuella kodsektionen (dvs slutar köra uttalanden nedanför den) och börjar köra den första raden inuti funktionen.
- Programmet kommer till en kodrad
func function_name(Args… )
och accepterar de värden args skickas under funktionsanropetfunction_name(args)
. - Programmet kör sedan de påståenden som
statementsInsideFunction
definierats i funktionen. - Uttalandena inuti funktionen utförs i topp- till bottenordning, en efter en.
- Efter genomförandet av den sista uttalande, programblad funktionen och går tillbaka till där det började från IE
function_name(args)
. let val =
lagrar värdet som returneras från funktionen i en konstant val. På samma sätt kan du lagra i en variabel somvar val =
.- Därefter
statementsOutsideFunction
utförs uttalanden .
Exempel 2: Hur definieras en funktion i Swift?
func greet(user:String) ( print("Good Morning! (user)") )
Ovan visas en funktionsdefinition som består av följande komponenter:
- Nyckelord
func
markerar början på funktionshuvudet. greet
är ett funktionsnamn för att unikt identifiera och anropa funktion i programmet.(user:String)
markerar slutet på funktionshuvudet och accepterar en typ av parameterString
. Se artikeln Swift Function Parameter Typer and Return Types som definierar funktion med parametrar.- Funktionen består av ett
print
uttalande inuti kroppen som körs efter att du ringer till funktionen.
Ringa en funktion
När du väl har skapat en funktion kan du anropa den i ditt program för att utföra de uttalanden som deklareras i funktionen. För att ringa en funktion skriver du helt enkelt funktionsnamnet följt av () och skickar inmatningsparametrarna inuti den som:
hälsar (användare: "Isac")
Exempel 3: Ringa en funktion i Swift
func greet(user:String) ( print("Good Morning! (user)") ) greet(user: "Isac")
När du kör programmet ovan kommer utmatningen att vara:
God morgon! Isac
I ovanstående kod greet(user: "Isac")
anropar funktionen och skickar värdet Isac
av typen String
. Därefter print
körs uttalande inuti funktionen.
Returuttalande
Returnyckelordet säger till programmet att lämna funktionen och återgå till raden där funktionsanropet gjordes.
Du kan också skicka värde med return
nyckelordet där värdet är en variabel eller annan information som kommer tillbaka från funktionen.
Exempel 3: Funktion med returnyckelord
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ör programmet ovan kommer utmatningen att vara:
Du har ett nytt meddelande God morgon! Isac
I ovanstående kod greet(user: "Isac")
anropar funktionen och skickar värdet Isac
av typen String
. return "Good Morning! (user)"
uttalande returnerar typvärdet String
och överför programmet till funktionsanropet.
let greeting =
lagrar värdet som returneras från funktionen. När funktionen återvänder, print
utförs uttalandet under funktionsanropet.
Saker att komma ihåg
- Ge ett funktionsnamn som återspeglar syftet med funktionen.
- En funktion ska bara utföra en uppgift. Om en funktion utför mer än en uppgift, dela upp den i flera funktioner.
- Försök att tänka tidigt och gruppera uttalanden i en funktion som gör koden återanvändbar och modulär.