Golang dilinde return ifadesi kullanılarak bir fonksiyondan birden fazla değer döndürülebilir. Başka bir deyişle, bir fonksiyon içerisinde return ifadesi birden fazla değer döndürebilir. Geri dönüş değerlerinin tipleri, parametre listesinde belirtilen parametrelerin tipleri ile aynıdır.

Sözdizimi:
func function_name(parameter_list)(return_type_list){
// code...
}
Orada:
- function_name : Fonksiyonun adıdır.
- parametre-listesi : Fonksiyon parametrelerinin adlarını ve türlerini içerir.
- return_type_list : İsteğe bağlı olup fonksiyonun döndürdüğü değer türlerini içerir. Eğer fonksiyonunuzda return_type kullanıyorsanız, o zaman fonksiyonunuzda return ifadesini kullanmanız gerekir.
Örneğin:
// 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)
}
Sonuç:
Result is: 2
Result is: 8
Result is: 6
Dönüş değerini adlandırın
Go dilinde, geri dönüş değerleri için isimler vermenize izin verilir. Ve bu değişken isimlerini kodunuzda da kullanabilirsiniz. Bu isimleri return ifadesiyle yazmaya gerek yoktur çünkü Go derleyicisi bu değişkenlerin tutulması gerektiğini otomatik olarak anlayacaktır. Ve geri dönüş tipi minimum getiri olarak adlandırılır. Minimal döndürmek programınızdaki tekrarları azaltır.
Sözdizimi:
func function_name(para1, para2 int)(name1 int, name2 int){
// code...
}
hoặc
func function_name(para1, para2 int)(name1, name2 int){
// code...
}
Burada name1 ve name2 , geri dönüş değerinin adları, para1 ve para2 ise fonksiyonun parametreleridir.
Örneğin:
// 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)
}
Sonuç:
Area of the rectangle is: 8
Area of the square is: 4