На старом языке, чтобы удалить запись с ключом k
из карты k
, один написал заявление,
m[k] = value, false
Этот синтаксис был своеобразным особым случаем, единственным присваиванием два к одному. Требуется передать значение (обычно игнорируемое), которое оценивается, но отбрасывается, плюс логическое значение, которое почти всегда было константой false. Это сделало работу, но было странно и предметом спора.
В Go 1 этот синтаксис исчез; вместо этого есть новая встроенная функция, delete
. Звонок
delete(m, k)
удалит запись карты, найденную выражением m[k]
. Нет возвращаемого значения. Удаление несуществующей записи не разрешено.
Обновление: Выполнение go fix
преобразует выражения вида m[k] = value, false
в delete(m, k)
, когда становится ясно, что игнорируемое значение можно безопасно удалить из программы, а false
относится к предопределенная логическая константа. Инструмент исправления помечает другое использование синтаксиса для проверки программистом.