2012-02-10 34 views
31

Làm thế nào để xóa dữ liệu khỏi bản đồ trong Go? Ví dụ: cómaps - xóa dữ liệu

m := map[string]string{ "key1":"val1", "key2":"val2" }; 

Tôi muốn làm cho m thả "key1" mà không cần sao chép toàn bộ bản đồ bằng cách lặp qua các khóa của nó (có thể lớn trong một số công dụng). Có đủ để chỉ định giá trị nil cho "key1" hay vẫn giữ nguyên khóa trong cấu trúc bản đồ với giá trị được chỉ định là nil không? Tức là, nếu sau này tôi lặp lại các phím của bản đồ, "key1" có xuất hiện không?

Trả lời

51

Deletion of map elements

Việc xây dựng trong chức năng delete loại bỏ các phần tử với k quan trọng từ một bản đồ m.

delete(m, k) // remove element m[k] from map m 

Ví dụ,

package main 

import "fmt" 

func main() { 
    m := map[string]string{"key1": "val1", "key2": "val2"} 
    fmt.Println(m) 
    delete(m, "key1") 
    fmt.Println(m) 
} 

Output:

map[key1:val1 key2:val2] 
map[key2:val2] 
Các vấn đề liên quan