Dans l'ancienne langue, pour supprimer l'entrée avec la touche k
de la carte représentée par m
L'un d'entre eux a écrit la déclaration,
m[k] = value, false
Cette syntaxe était un cas particulier, la seule affectation de deux à un. Elle nécessitait de passer une valeur (généralement ignorée) qui était évaluée mais rejetée, ainsi qu'un booléen qui était presque toujours la constante false. Cette syntaxe faisait l'affaire, mais elle était étrange et suscitait la controverse.
Dans Go 1, cette syntaxe a disparu ; à la place, il y a une nouvelle fonction intégrée, delete
. L'appel
delete(m, k)
supprimera l'entrée de la carte récupérée par l'expression m[k]
. Il n'y a pas de valeur de retour. La suppression d'une entrée inexistante est un no-op.
Mise à jour : Running go fix
convertira les expressions de la forme m[k] = value, false
en delete(m, k)
lorsqu'il est clair que la valeur ignorée peut être éliminée du programme en toute sécurité, et false
fait référence à la constante booléenne prédéfinie. L'outil de correction signalera d'autres utilisations de la syntaxe pour que le programmeur les examine.