ใน ภาษาGolangคุณได้รับอนุญาตให้ส่งคืนค่าหลายค่าจากฟังก์ชันโดยใช้คำสั่ง return กล่าวอีกนัยหนึ่ง ในฟังก์ชัน คำสั่ง return สามารถส่งคืนค่าได้หลายค่าประเภทของค่าส่งคืนจะเหมือนกับประเภทของพารามิเตอร์ที่ระบุไว้ในรายการพารามิเตอร์

รูปแบบประโยค :
func function_name(parameter_list)(return_type_list){
// code...
}
ในนั้น:
- function_name : นี่คือชื่อของฟังก์ชัน
- รายการพารามิเตอร์ : ประกอบด้วยชื่อและชนิดของพารามิเตอร์ฟังก์ชัน
- return_type_list : ตัวเลือกและประกอบด้วยประเภทของค่าที่ฟังก์ชันส่งคืน หากคุณใช้ return_type ในฟังก์ชันของคุณ คุณต้องใช้คำสั่ง return ในฟังก์ชันของคุณ
ตัวอย่างเช่น:
// 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)
}
ผลลัพธ์:
Result is: 2
Result is: 8
Result is: 6
ตั้งชื่อค่าที่ส่งกลับ
ในภาษา Go คุณสามารถระบุชื่อให้กับค่าที่ส่งกลับได้ และคุณสามารถใช้ชื่อตัวแปรเหล่านั้นในโค้ดของคุณได้เช่นกัน ไม่จำเป็นต้องเขียนชื่อเหล่านี้ด้วย คำสั่ง returnเนื่องจากคอมไพเลอร์ Go จะเข้าใจโดยอัตโนมัติว่าควรเก็บตัวแปรเหล่านี้ไว้ และชนิดการส่งคืนเรียกว่าการส่งคืนขั้นต่ำ การคืนค่าขั้นต่ำช่วยลดการซ้ำซ้อนในโปรแกรมของคุณ
รูปแบบประโยค :
func function_name(para1, para2 int)(name1 int, name2 int){
// code...
}
hoặc
func function_name(para1, para2 int)(name1, name2 int){
// code...
}
ที่นี่name1และname2คือชื่อของค่าที่ส่งกลับ และpara1และpara2คือพารามิเตอร์ของฟังก์ชัน
ตัวอย่างเช่น:
// 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)
}
ผลลัพธ์:
Area of the rectangle is: 8
Area of the square is: 4