Старою мовою для видалення запису з ключем kз карти, представленої символом m, один написав заяву,
m[k] = value, false
Цей синтаксис був своєрідним особливим випадком, єдиним завданням «два в один». Це вимагало передачі значення (зазвичай ігнорується), яке оцінюється, але відкидається, плюс булеве значення, яке майже завжди було постійним хибним. Це зробило роботу, але було дивним і суперечливим.
У Go 1 цей синтаксис пішов; натомість є нова вбудована функція, delete. Виклик
delete(m, k)
видалить запис карти, отриманий виразом m[k]. Поверненого значення немає. Видалення неіснуючого запису - необов’язкове.
Оновлення: Виконання go fixперетворить вирази форми m[k] = value, falseв те, delete(m, k)коли зрозуміло, що ігнороване значення можна безпечно відкинути з програми і falseпосилається на попередньо задану булеву константу. Інструмент виправлення позначить інші види використання синтаксису для перевірки програмістом.
sessions["moo"] = sessions["moo"], false;(чи це неправильно?)