2012-02-10 13 views
31

Goのマップからデータを削除するにはどうすればよいですか?例えば、マップ - データの削除

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

を持つことは、私は、mは(いくつかの用途では大きな得ることができる)そのキーを反復することにより、マップ全体をコピーせずに「キー1」をドロップするようにしたいです。 "key1"にnilの値を代入するだけで十分ですか、それともnilの割り当てられた値を持つマップ構造体にキーを保持しますか?つまり、後でマップのキーを反復処理すると、「key1」が表示されますか?

答えて

51

Deletion of map elements

組み込み関数deleteマップ Mから鍵Kを持つ要素を除去します。例えば

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

package main 

import "fmt" 

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

出力:

map[key1:val1 key2:val2] 
map[key2:val2] 
関連する問題