În limba Golang , vi se permite să returnați mai multe valori dintr-o funcție, folosind instrucțiunea return. Cu alte cuvinte, într-o funcție, o instrucțiune return poate returna mai multe valori. Tipurile de valori returnate sunt aceleași cu tipurile de parametri specificati în lista de parametri.

Sintaxă:
func function_name(parameter_list)(return_type_list){
// code...
}
Acolo:
- function_name : Acesta este numele functiei.
- lista-parametri : Conține numele și tipurile parametrilor funcției.
- return_type_list : Opțional și conține tipurile de valori pe care funcția le returnează. Dacă utilizați return_type în funcția dvs., atunci trebuie să utilizați declarația return în funcția dvs.
De exemplu:
// Chương trình Go minh họa
// cách hàm trả về nhiều giá trị
package main
import "fmt"
// myfunc trả về 3 giá trị của kiểu int
func myfunc(p, q int)(int, int, int ){
return p - q, p * q, p + q
}
// Phương thức chính
func main() {
// Giá trị trả về được gắn vào
// 3 biến khác nhau
var myvar1, myvar2, myvar3 = myfunc(4, 2)
// Hiện giá trị
fmt.Printf("Result is: %d", myvar1 )
fmt.Printf("\nResult is: %d", myvar2)
fmt.Printf("\nResult is: %d", myvar3)
}
Rezultat:
Result is: 2
Result is: 8
Result is: 6
Denumiți valoarea returnată
În limba Go, vi se permite să furnizați nume pentru valorile returnate. Și puteți folosi acele nume de variabile și în codul dvs. Nu este nevoie să scrieți aceste nume cu o instrucțiune return , deoarece compilatorul Go va înțelege automat că aceste variabile trebuie reținute. Iar tipul de returnare se numește randament minim. Returul minim reduce dublarea în program.
Sintaxă:
func function_name(para1, para2 int)(name1 int, name2 int){
// code...
}
hoặc
func function_name(para1, para2 int)(name1, name2 int){
// code...
}
Aici, nume1 și nume2 sunt numele valorii returnate, iar para1 și para2 sunt parametrii funcției.
De exemplu:
// Minh họa chương trình Go
// cách đặt tên cho giá trị trả về
package main
import "fmt"
// myfunc trả về 2 giá trị của kiểu int
// đây là tên giá trị trả về:
// rectangle và square
func myfunc(p, q int)( rectangle int, square int ){
rectangle = p*q
square = p*p
return
}
func main() {
// Giá trị trả về được gán cho
// hai biến khác nhau
var area1, area2 = myfunc(2, 4)
// Hiện giá trị
fmt.Printf("Area of the rectangle is: %d", area1 )
fmt.Printf("\nArea of the square is: %d", area2)
}
Rezultat:
Area of the rectangle is: 8
Area of the square is: 4