2012-02-10 14 views
31

¿Cómo se eliminan los datos de un mapa en Go? Por ejemplo, tenermaps - borrar datos

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

Quiero hacer caer el m "key1" sin copiar todo el mapa iterando sobre sus teclas (que podría ser grande en algunos usos). ¿Es suficiente asignar un valor nulo a "clave1", o eso mantendrá la clave en la estructura del mapa con un valor asignado de nulo? Es decir, si más tarde repito sobre las teclas del mapa, ¿aparecerá "clave1"?

Respuesta

51

Deletion of map elements

La función incorporada delete elimina el elemento con clave k a partir de un mapa m.

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

Por ejemplo,

package main 

import "fmt" 

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

de salida:

map[key1:val1 key2:val2] 
map[key2:val2] 
Cuestiones relacionadas