In Golang is het mogelijk om meerdere waarden uit een functie te retourneren met behulp van de return-instructie . Met andere woorden: in een functie kan een return-instructie meerdere waarden retourneren. De typen van de retourwaarden zijn gelijk aan de typen van de parameters die in de parameterlijst zijn opgegeven.

Syntaxis:
func function_name(parameter_list)(return_type_list){
// code...
}
Daarin:
- function_name : Dit is de naam van de functie.
- parameterlijst : Bevat de namen en typen van de functieparameters.
- return_type_list : Optioneel en bevat de typen waarden die de functie retourneert. Als u return_type in uw functie gebruikt, moet u ook de return-instructie in uw functie gebruiken.
Bijvoorbeeld:
// 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)
}
Resultaat:
Result is: 2
Result is: 8
Result is: 6
Geef de retourwaarde een naam
In de Go-taal kunt u namen opgeven voor retourwaarden. En u kunt die variabelenamen ook in uw code gebruiken. Het is niet nodig om deze namen met een return -instructie te schrijven , omdat de Go-compiler automatisch begrijpt dat deze variabelen behouden moeten blijven. En het retourtype wordt minimumrendement genoemd. Als u minimaal teruggeeft, vermindert u duplicatie in uw programma.
Syntaxis:
func function_name(para1, para2 int)(name1 int, name2 int){
// code...
}
hoặc
func function_name(para1, para2 int)(name1, name2 int){
// code...
}
Hierbij zijn name1 en name2 de namen van de retourwaarde en para1 en para2 de parameters van de functie.
Bijvoorbeeld:
// 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)
}
Resultaat:
Area of the rectangle is: 8
Area of the square is: 4