Menu
CoddyTech

Kiểm tra khóa có tồn tại không

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 89 trên 109.

Trong Go, bạn có thể kiểm tra xem một khóa có tồn tại trong map hay không bằng cách dùng dạng gán hai giá trị. Điều này rất quan trọng vì khi truy cập một khóa không tồn tại, bạn sẽ nhận được giá trị không (zero value), có thể gây hiểu nhầm.

Tạo một cấu trúc ánh xạ mã quốc gia:

countries := map[string]string{
    "US": "United States",
    "CA": "Canada",
}

// Kiểm tra xem "UK" có trong map không
value, exists := countries["UK"]
fmt.Println("Value:", value, "Exists:", exists)

Kết quả:

Value:  Exists: false

Giá trị boolean exists cho bạn biết liệu khóa có được tìm thấy hay không. Hãy dùng giá trị này trong các câu lệnh điều kiện:

if _, exists := countries["US"]; exists {
    fmt.Println("US is in the map")
}

Kết quả:

US is in the map
challenge icon

Thử thách

Người mới

Trong thử thách này, bạn sẽ luyện tập kiểm tra xem một khóa có tồn tại trong map hay không. Bạn có một map điểm của học sinh và cần kiểm tra xem điểm của một học sinh cụ thể có tồn tại trong map hay không.

Hoàn thiện đoạn code để kiểm tra xem học sinh 'Emma' có trong map điểm hay không, rồi in ra thông báo phù hợp.

Tự làm thử

package main

import "fmt"

func main() {
	// Map lưu điểm của học sinh
	grades := map[string]int{
		"John":  85,
		"Sarah": 92,
		"Mike":  78,
		"Lisa":  95,
	}

	// Học sinh cần kiểm tra
	studentToCheck := "Emma"

	// TODO: Kiểm tra xem studentToCheck có trong map grades không
	// và lưu kết quả vào biến 'exists'
	// Gợi ý: Dùng cú pháp comma-ok


	// In ra kết quả
	if exists {
		fmt.Printf("%s's grade exists in the map\n", studentToCheck)
	} else {
		fmt.Printf("%s's grade does not exist in the map\n", studentToCheck)
	}
}
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