Подтвердить что ты не робот

Карты - удаление данных

Как удалить данные с карты в Go? Например, имея

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

Я хочу сделать m drop "key1" без копирования всей карты, итерации по ее ключам (что может стать большим в некоторых целях). Достаточно ли присвоить значение nil "key1" , или все еще сохранит ключ в структуре карты с присвоенным значением nil? То есть, если я позже перейду по клавишам на карте, появится "key1" ?

4b9b3361

Ответ 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]