Treci la conținutul principal

Valori returnate

O funcție poate trimite o valoare înapoi către cel care a apelat-o. Pentru asta, declară tipul de date al valorii returnate (int, string și așa mai departe) în semnătura funcției și folosește cuvântul cheie return în corpul funcției.

Sintaxa return

main.go
func FunctionName(param1 type, param2 type) type {
  // code to be executed
  return output
}

Exemplu de returnare din funcție

Această funcție myFunction() primește două numere întregi, x și y, le adună (x + y) și returnează suma ca int.

Exemplu

Prompt
Creează o funcție myFunction care primește două valori int și returnează suma lor. Afișează rezultatul apelării ei cu 1 și 2.
Ieșire: Program Go și ieșirea capturată

Valori returnate cu nume

Go îți permite și să dai un nume unei valori returnate.

În acest exemplu, valoarea returnată se numește result și are tipul int. Pentru că are deja un nume, este suficient un simplu return. Folosirea lui return fără un nume de variabilă, ca aici, se numește „naked return”.

Exemplu

Prompt
Creează o funcție cu o valoare returnată cu nume, numită result. Adună doi parametri int și folosește o instrucțiune return „goală” (naked return).
Ieșire: Program Go și ieșirea capturată

Stocarea valorii returnate într-o variabilă

În loc să afișezi direct rezultatul unei funcții, îl poți păstra într-o variabilă pentru a-l folosi mai târziu.

Exemplu

Prompt
Creează o funcție cu o valoare returnată cu nume. Stochează valoarea returnată într-o variabilă numită total și afișeaz-o.
Ieșire: Program Go și ieșirea capturată

Mai multe valori returnate

O funcție Go nu este limitată la o singură valoare returnată; poate returna mai multe deodată.

Exemplu

Această funcție myFunction() returnează două valori: un număr întreg numit result și un șir de caractere numit txt1.

Prompt
Creează o funcție care returnează atât un int, cât și un string. Transmite 5 și "Salut", returnează x+x și y+" Lume!". Afișează ambele valori.
Ieșire: Program Go și ieșirea capturată

Exemplu

Cele două valori returnate pot fi atribuite deodată la două variabile, în acest caz a și b.

Prompt
Stochează mai multe valori returnate de o funcție în variabile separate a și b, apoi afișează-le.
Ieșire: Program Go și ieșirea capturată

Exemplu

Uneori ai nevoie doar de o parte din ce returnează o funcție. Scrie o liniuță de subliniere (_) în locul valorii pe care vrei să o omiți. Aici este omisă prima valoare.

Prompt
Folosește identificatorul gol _ pentru a omite prima valoare returnată de o funcție care returnează două valori. Afișează doar string-ul.
Ieșire: Program Go și ieșirea capturată

Exemplu

De data aceasta, liniuța de subliniere se află pe a doua poziție, așa că a doua valoare returnată (txt1) este ignorată.

Prompt
Folosește identificatorul gol _ pentru a omite a doua valoare returnată. Afișează doar rezultatul int.
Ieșire: Program Go și ieșirea capturată