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 1Cá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.
Thử thách
Người mớiTrong 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)
}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
4Toán tử so sánh và logic
Toán tử so sánh, phần 1Toán tử so sánh, phần 2Toán tử AND logicToán tử OR logicToán tử NOT logicCơ bản về thứ tự ưu tiên của toán tửÔn tập: thực hiện phép so sánh7Luồng điều khiển: vòng lặp
Giải thích vòng lặp `for`Vòng lặp `for` cơ bảnVòng lặp `for` chỉ có điều kiệnTừ khóa `break`Từ khóa `continue`Vòng lặp lồng nhauÔn tập: lặp lại hành động2Biến và các kiểu dữ liệu cơ bản
Biến là gìSuy luận kiểu với `:=`Số nguyên (int)Số dấu phẩy độngGiá trị BooleanChuỗiGiá trị 0Hằng sốQuy ước đặt tênÔn tập: biến và kiểu dữ liệu5Đầu vào/đầu ra cơ bản
Đầu ra có định dạngĐộng từ định dạngIn các kiểu dữ liệuNhận đầu vào cơ bản từ người dùngÔn tập: đầu vào và đầu ra8Hàm
Tìm hiểu về hàmKhai báo hàmGọi hàmTham số của hàmTrả về một giá trịTrả về nhiều giá trịGiá trị trả về có tênNhững điều cơ bản về phạm vi của hàmÔn tập: Tạo code có thể tái sử dụng3Toán tử cơ bản
Toán tử số họcToán tử chiaToán tử moduloToán tử gánToán tử gán kết hợpTăng và giảmÔn tập: Tính toán6Luồng điều khiển: câu lệnh điều kiện
Câu lệnh `if`Từ khóa `else`Từ khóa `else if`Biến bị che khuất trong `if`Khởi tạo biếnCâu lệnh `switch``switch` có biểu thức`switch` không có biểu thứcTừ khóa `fallthrough`Ôn tập: đưa ra quyết địnhTự luyện tập: Trình biên dịch Go online