карты - удаление данных - PullRequest
       15

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

32 голосов
/ 10 февраля 2012

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

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

Я хочу, чтобы m отбрасывал «ключ1», не копируя всю карту, перебирая ее ключи (что может стать большим в некоторых случаях). Достаточно ли присвоить значение «nil» «key1», или это все равно сохранит ключ в структуре карты с присвоенным значением nil? То есть, если позже я переберу ключи карты, появится «key1»?

1 Ответ

52 голосов
/ 10 февраля 2012

Удаление элементов карты

Встроенная функция 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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...