Trong Go, bạn có thể kiểm tra xem một map có chứa một key nhất định hay không bằng cách sử dụng cú pháp value, exists := map[key]. Khi bạn truy cập vào một key trong map, Go sẽ trả về giá trị tương ứng và một giá trị boolean cho biết key đó có tồn tại trong map hay không. Nếu key tồn tại, giá trị boolean sẽ là true, ngược lại sẽ là false.

Dưới đây là cách kiểm tra xem một key có tồn tại trong map và một ví dụ minh họa.

Cú pháp kiểm tra key trong Map

value, exists := myMap[key]
  • value: Giá trị tương ứng với key trong map. Nếu key không tồn tại, giá trị này sẽ là giá trị mặc định của kiểu dữ liệu.
  • exists: Một biến kiểu boolean cho biết key có tồn tại trong map hay không.

Ví dụ kiểm tra key trong Map

package main

import (
    "fmt"
)

func main() {
    // Khởi tạo một map
    myMap := map[string]int{
        "Alice": 25,
        "Bob":   30,
        "Charlie": 35,
    }

    // Kiểm tra xem một key có tồn tại trong map
    keyToCheck := "Bob"
    if value, exists := myMap[keyToCheck]; exists {
        fmt.Printf("Key '%s' exists with value: %dn", keyToCheck, value)
    } else {
        fmt.Printf("Key '%s' does not exist in the map.n", keyToCheck)
    }

    // Kiểm tra một key không tồn tại
    keyToCheck = "David"
    if value, exists := myMap[keyToCheck]; exists {
        fmt.Printf("Key '%s' exists with value: %dn", keyToCheck, value)
    } else {
        fmt.Printf("Key '%s' does not exist in the map.n", keyToCheck)
    }
}

Giải thích mã

  • Khởi tạo map: Chúng ta tạo một map có kiểu string cho key và int cho value.
  • Kiểm tra key: Chúng ta sử dụng cú pháp if value, exists := myMap[keyToCheck]; exists để kiểm tra xem key "Bob" có tồn tại trong myMap. Nếu tồn tại, chương trình sẽ in ra giá trị tương ứng.
  • Kiểm tra key không tồn tại: Chúng ta cũng kiểm tra key "David" và in ra thông báo tương ứng nếu không tồn tại.

Kết quả khi chạy mã

Khi bạn chạy đoạn mã trên, bạn sẽ nhận được kết quả như sau:

Key 'Bob' exists with value: 30
Key 'David' does not exist in the map.

Kết luận

Kiểm tra sự tồn tại của một key trong map trong Go rất đơn giản và hiệu quả. Bằng cách sử dụng cú pháp value, exists := map[key], bạn có thể nhanh chóng xác định xem key có trong map hay không và xử lý dữ liệu dựa trên kết quả này. Kỹ thuật này rất hữu ích trong nhiều tình huống lập trình khi bạn làm việc với các dữ liệu có cấu trúc dạng key-value.