No idioma antigo, para excluir a entrada com a chave k
do mapa representado por m
, escreveu-se a declaração,
m[k] = value, false
Essa sintaxe era um caso especial e peculiar, a única tarefa de dois para um. Exigia passar um valor (geralmente ignorado) que é avaliado mas descartado, além de um booleano que quase sempre era a constante falsa. Ele fez o trabalho, mas foi estranho e um ponto de discórdia.
No Go 1, essa sintaxe desapareceu; em vez disso, há uma nova função interna delete
,. A chamada
delete(m, k)
excluirá a entrada do mapa recuperada pela expressão m[k]
. Não há reembolso. Excluir uma entrada inexistente não é uma opção.
Atualização: A execução go fix
converterá expressões do formulário m[k] = value, false
em delete(m, k)
quando estiver claro que o valor ignorado pode ser descartado com segurança do programa e false
se refere à constante booleana predefinida. A ferramenta de correção sinalizará outros usos da sintaxe para inspeção pelo programador.
sessions["moo"] = sessions["moo"], false;
(? Ou é que errado)