Карты - удаление данных
Как удалить данные с карты в Go? Например, имея
m := map[string]string{ "key1":"val1", "key2":"val2" };
Я хочу сделать m drop "key1" без копирования всей карты, итерации по ее ключам (что может стать большим в некоторых целях). Достаточно ли присвоить значение nil "key1" , или все еще сохранит ключ в структуре карты с присвоенным значением nil? То есть, если я позже перейду по клавишам на карте, появится "key1" ?
Ответы
Ответ 1
Удаление элементов карты
Встроенная функция delete
удаляет элемент с ключом 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]