Den här artikeln behöver källhänvisningar för att kunna verifieras. (2020-12) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. |
Inom programmering är en funktion, även subrutin, procedur, metod, underprogram eller subprogram, en del av ett datorprogram som kan anropas för att utföra en viss uppgift oberoende av resten av koden. En funktion utformas ofta för att kunna anropas flera gånger från olika ställen i programmet och man skickar då ofta med parametrar (argument) till funktionen. En funktion innehåller ett kodblock som teoretiskt sett kan vara oändligt stort och kan i sig fungera som ett eget program (därav namnet underprogram).
En funktion kan också returnera ett värde, till exempel ett resultat av en beräkning. I vissa programspråk, till exempel Fortran och Pascal, görs en åtskillnad mellan funktioner, som returnerar ett värde, och procedurer, som inte gör det. I andra programspråk, till exempel C och Lisp, görs inte denna åtskillnad. I objektorienterad programmering kallas en funktion som är en del av ett objekt för en metod.
Funktioner är ett kraftfullt verktyg som finns i de flesta programspråk och används inom strukturerad programmering för att (bland annat):
Alternativet är ett program med rak kod, som inte innehåller några anrop till funktioner. Ett sådant program körs snabbare eftersom anropen (hoppen) tar tid, men å andra sidan återanvänder man inte koden vilket gör att programmet tar mer plats i datorminnet och cachen.