Menu
CoddyTech

Giá trị trả về có tên

Thuộc phần Kiến thức nền tảng trong hành trình GO của Coddy. Bài học 57 trên 109.

Trong Go, bạn có thể đặt tên cho các giá trị trả về trong phần khai báo hàm. Cách này giúp code dễ đọc hơn và cho phép bạn chỉ cần dùng câu lệnh return thông thường để trả về giá trị.

Tạo một hàm có giá trị trả về được đặt tên:

func divide(a, b int) (quotient int, remainder int) {
    quotient = a / b
    remainder = a % b
    return  // Lệnh return kiểu "naked"
}

func main() {
    q, r := divide(7, 3)
    fmt.Println("7 ÷ 3 =", q, "with remainder", r)
}

Kết quả đầu ra vẫn giống như trước:

7 ÷ 3 = 2 with remainder 1

Các giá trị trả về có tên được khởi tạo bằng giá trị không và có thể được gán trực tiếp trong phần thân hàm.

challenge icon

Thử thách

Người mới

Trong thử thách này, bạn sẽ luyện tập cách sử dụng giá trị trả về có tên trong các hàm Go.

Hoàn thiện hàm getPersonInfo, hàm này trả về tên, tuổi và thông tin một người có phải là học sinh hay không. Hàm đã có các tham số trả về được đặt tên, nhưng bạn cần gán giá trị cho chúng.

Hàm sẽ trả về các giá trị đã định trước cho một người tên là 'Alex', 25 tuổi và là học sinh.

Tự làm thử

package main

import "fmt"

// Hàm (function) này dùng các giá trị trả về có tên
func getPersonInfo() (name string, age int, isStudent bool) {
	// TODO: Gán giá trị cho các biến trả về có tên
	// name phải là "Alex"
	// age phải là 25
	// isStudent phải là true
	
	// Câu lệnh "return" không có đối số sẽ trả về các giá trị trả về có tên
	return
}

func main() {
	name, age, isStudent := getPersonInfo()
	fmt.Printf("Name: %s\nAge: %d\nStudent: %t\n", name, age, isStudent)
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch Go online