Finner du deg selv kopiere og lime inn koden din for å gjenbrukes i forskjellige seksjoner i programmet ditt?

I så fall vil du kanskje vurdere å bruke funksjoner. Funksjoner er en veldig kraftig funksjon i programmeringsspråk. De kan gjøre koden mer effektiv, lettere å lese og elegant.

Hva er en funksjon?

En funksjon er en blokk med kode som utfører en oppgave. Det kan kalles og gjenbrukt flere ganger. Du kan overføre informasjon til en funksjon, og den kan sende informasjon tilbake. Mange programmeringsspråk har innebygde funksjoner som du har tilgang til i biblioteket, men du kan også lage dine egne funksjoner.

Hva er rekursjon og hvordan bruker du det?

Lær det grunnleggende om rekursjon, det essensielle, men litt tankebøyende verktøyet for programmerere.

Når du ringer til en funksjon, stopper programmet det gjeldende programmet og utfører funksjonen. Funksjonen vil bli lest fra topp til bunn. Når funksjonen er fullført, fortsetter programmet å kjøre der det hadde stoppet. Hvis funksjonen returnerte en verdi, vil den verdien bli brukt der funksjonen ble kalt.

Hvordan skriver du en funksjon?

Det er mange forskjellige måter å skrive funksjoner på. Den eksakte syntaksen vil avhenge av språket du programmerer på. Vi vil vise eksempler i Python, JavaScript og C ++ for å demonstrere en rekke programmeringssyntakser.

I slekt: Hvorfor programmeringsspråk ikke kan eksistere uten funksjoner

Ugyldige funksjoner

Den første funksjonstypen vi skal se på er en ugyldig funksjon. Dette betyr ganske enkelt at funksjonen ikke returnerer en verdi. Void-funksjoner brukes til å fullføre et sett med instruksjoner. I disse eksemplene kalles funksjonen vi skrev heiFunksjon. Formålet med funksjonen er å sende ut "Hello World".

TIPS: Gi funksjonsnavn som forklarer hva de gjør. Det blir lettere å administrere funksjoner og lese koden når programmet ditt blir mer komplekst.

Python

def helloFunction ():
utskrift ("Hello World")
heiFunksjon ()

Nøkkelordet def brukes i Python for å definere og opprette en funksjon. Deretter er navnet på funksjonen. Instruksjonene i funksjonen følger på neste linje etter kolon. Hvite mellomrom betyr noe i Python, så husk å kutte inn all koden du vil at funksjonen skal kjøre. I eksemplet ovenfor kjører funksjonen en linje med kode.

Dine skarpe øyne har kanskje lagt merke til det skrive ut() er også en funksjon, men den kalles annerledes enn vår funksjon. Hold fast ved den tanken akkurat nå, vi vil utforske funksjoner vil parametere senere.

JavaScript

funksjon helloFunction () {
varsel ("Hello World!");
}
heiFunksjon ();

I JavaScript, nøkkelordet funksjon brukes til å lage funksjoner. Deretter har vi navnet på funksjonen. Enhver kode som faller mellom de krøllete parentesene kjøres når funksjonen kalles.

Hvite mellomrom er ikke viktig i JavaScript, men det er vanlig å kutte inn koden i funksjonen. Innrykk gjør koden lettere å lese, noe som er veldig viktig ettersom programmene dine blir mer komplekse.

Merk: Mye som skrive ut() i det tidligere eksemplet, varsling() er også en funksjon.

C ++

#inkludere 
bruker navneområde std;
ugyldig helloFunction () {
cout << "Hello World!";
}
int main () {
heiFunksjon ();
retur 0;
}

Funksjoner skapes annerledes i C ++. I stedet for et nøkkelord for å definere en funksjon, beskriver det første ordet typen data som funksjonen skal returnere. I dette tilfellet returnerer vår funksjon ingen data, så dataene er ugyldige. Deretter har vi funksjonens navn. I likhet med JavaScript kjøres all koden mellom krøllete parenteser når funksjonen kalles. På samme måte som JavaScript påvirker ikke mellomrom ikke funksjonen, men det er god praksis.

Oppdaget du en annen funksjon i C ++ - koden? Ja, hoved() er en funksjon. Når du kjører et C ++ - program, ringer du automatisk til hovedfunksjonen. Når hovedfunksjonen er fullført, returnerer den 0 når den går ut av programmet for å signalisere at det ikke var noen feil som kjørte programmet.

Funksjoner som krever verdier

Ugyldige funksjoner er gode hvis du oppdager at du skriver den samme koden litt om og om igjen. Men de kan være begrensende. De er statiske og endres ikke. De fullfører alltid de samme instruksjonene. En måte vi kan øke bruken av, er å overføre forskjellige verdier til funksjonen.

Du vil ha lagt merke til at parentes fulgte navnene på alle funksjonene våre. I parentes kan vi erklære at data er nødvendig for å kjøre vår funksjon. Da kan vi bruke dataene som sendes til funksjonen vår i funksjonen. La oss ta en titt på de foregående eksemplene igjen, men denne gangen fraser vi ønsker å bli utgitt.

Python

def helloFunction (newPhrase):
skriv ut (newPhrase)
helloFunction ("Vår nye frase")

Nå, mellom parentesene, erklærer funksjonen vår at den trenger en variabel for å kjøre. Vi har kalt variabelen newPhrase og kan nå bruke den i vår funksjon. Når vi kaller funksjonen, må vi sende den forespurte informasjonen ved å plassere den mellom parentesene. De samme endringene ble gjort i JavaScript.

JavaScript

funksjon helloFunction (newPhrase) {
alarm (newPhrase);
}
helloFunction ("Vår nye setning");

C ++

#inkludere 
bruker navneområde std;
ugyldig helloFunction (streng newPhrase) {
cout << newPhrase;
}
int main () {
helloFunction ("Vår nye setning");
retur 0;
}

Vår C ++ - funksjon krevde litt mer informasjon. Vi vet at funksjonen din vil ha strengdata, men det er ikke bra nok for C ++. Når du oppretter funksjonen din, må du spesifisere hvilken type data funksjonen din krever. Hvis du ikke sender riktig type data, vil funksjonen opprette en feil.

Dette kan virke litt irriterende, men strenge språk kan ofte spare deg for hodepine. Hvis du skriver en funksjon i JavaScript som krever et heltall, men tallet sendes som en streng, kan det opprette en feil som er veldig vanskelig å spore.

I slekt: 5 funksjonelle programmeringsspråk du bør vite

Funksjoner som gir en verdi

Den endelige funksjonsevnen vi skal dekke er å returnere data. Dette er spesielt verdifullt når du vil endre data før du bruker dem. Selv om du kan skrive den innebygde, hvis du vil bruke de samme beregningene mange ganger, som å konvertere imperial til metrisk, kan det være mer fornuftig å skrive det som en funksjon. Eksemplet vårt blir enklere. Vår funksjon vil kreve to heltall og vil returnere summen.

Python

def addingFunction (a, b):
returner a + b
skriv ut (legge til funksjon (2, 4))

I dette eksemplet krever funksjonen vår to variabler i stedet for en. Vi indikerer at ved å skille variabelnavnene våre med komma. Nøkkelordet komme tilbake forteller funksjonen å returnere følgende data, i dette tilfellet 2 + 4 eller 6. Vi kaller funksjonen inne i skrive ut() funksjon.

Når programmet vårt kom til den linjen, ville det ha stoppet, kjørt vår funksjon og deretter fortsatt som om addingFunction (2, 4) var faktisk bare den returnerte verdien 6.

JavaScript

JavaScript-koden er veldig lik Python-koden. Den primære forskjellen er at funksjonen kalles i et varsel.

funksjon som legger til funksjon (a, b) {
returner a + b;
}
alarm (addingFunction (2, 4));

C ++

#inkludere 
bruker navneområde std;
int addingFunction (int a, int b) {
returner a + b;
}
int main () {
cout << addingFunction (2, 4);
retur 0;
}

C ++ - koden kjører på samme måte, men krever som regel litt mer informasjon. Først må vi si hvilken type data funksjonen vår vil returnere. Du vil se det tomrom er endret til int. Dette betyr at i stedet for å returnere ingen data, vil funksjonen vår returnere et heltall. Utover det er koden lik koden vi allerede har utforsket.

Administrer funksjonene dine

En morsom ting med funksjoner er at funksjoner kan ringe til andre funksjoner. De kan til og med kalle seg selv! Men med stor kraft kommer stort ansvar. Ikke bli gal ved å lage kode med funksjoner som kaller andre funksjoner som kaller enda flere funksjoner.

Som nevnt, stopper programmet hver gang en funksjon kalles mens den kjører funksjonen. Dette betyr at programmet holdes i aktivt minne. Hvis du ringer til flere funksjoner uten å fullføre dem, bruker du mer aktivt minne. Hvis du ikke er forsiktig, kan programmet komme ut av hånden.

E-post
Hvordan holde koden ren med innkapsling av objekter

Globale variabler kan virke enkle, men de er ofte årsaken til så mange feil. Slik effektiviserer du koden din med innkapsling.

Relaterte temaer
  • Programmering
  • Programmering
  • Funksjonell programmering
Om forfatteren
Jennifer Seaton (20 artikler publisert)

J. Seaton er en Science Writer som spesialiserer seg på å bryte ned komplekse emner. Hun har en doktorgrad fra University of Saskatchewan; hennes forskning fokuserte på å bruke spillbasert læring for å øke studentengasjementet online. Når hun ikke jobber, vil du finne henne når hun leser, spiller videospill eller hagearbeid.

Mer fra Jennifer Seaton

Abonner på vårt nyhetsbrev

Bli med på nyhetsbrevet vårt for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!

Ett steg til…!

Bekreft e-postadressen din i e-posten vi nettopp sendte deg.

.