I programmering definierar och sätter en returtyp eller resultattyp restriktioner på vilken typ av data som returneras av en metod eller funktion . I många programmeringsspråk (särskilt statiskt skrivna språk som Java , C++ och C ) måste returtypen uttryckligen deklareras när en funktion deklareras.
C -språket använder operatören för att returnera anpassade värden till anropskoden , returneller standardvärdet när funktionen avslutas automatiskt efter dess avslutande, krulliga klammerparentes. Samtidigt kan funktionen ha flera operatörer returnsom kan anropas beroende på fördefinierade förutsättningar.
Alla funktionstyper, förutom void -typen , returnerar värdet som anges av uttrycket i operatorn return. C89 - standarden tillät exekvering av en sats returnutan att ange ett uttryck inom en funktion vars typ inte var ogiltigt, i vilket fall något godtyckligt värde skulle returneras. Men C99-standarden reglerade redan den obligatoriska indikeringen av returvärdet. Det vill säga, om det finns en indikation på att funktionen returnerar ett värde måste det anges i förväg för operatören return. I det här fallet, vid exekvering av en funktion som inte är av typen void, returneras ett godtyckligt värde.
C- språket ger också möjligheten att returnera en pekarfunktion. För att en funktion ska returnera en pekare måste den deklareras för att returnera en pekare till önskad typ. Det vill säga, typen av den returnerade pekaren måste deklareras uttryckligen. Till exempel kan du inte deklarera en returtyp som int * om en pekare av typen char * returneras. Om det är nödvändigt att returnera en "generisk" pekare (det vill säga en pekare som kan peka på data av vilken typ som helst), ska returtypen för funktionen definieras som void * [1] .
Java-exempel:
public int someMethod ()Här är returtypen int (heltal). Således kan ett program förlita sig på en metod som returnerar ett int- värde . För fall då en subrutin (funktion) inte returnerar något värde, används olika mekanismer, till exempel: returtypen är ogiltig i vissa programmeringsspråk:
public void returnIngenting ()