En el idioma anterior, para eliminar la entrada con clave k
del mapa representado por m
, se escribió la declaración,
m[k] = value, false
Esta sintaxis era un caso especial peculiar, la única asignación de dos a uno. Se requería pasar un valor (generalmente ignorado) que se evalúa pero se descarta, más un valor booleano que casi siempre era la constante falsa. Hizo el trabajo pero era extraño y un punto de discusión.
En Go 1, esa sintaxis se ha ido; en su lugar hay una nueva función incorporada, delete
. La llamada
delete(m, k)
eliminará la entrada del mapa recuperada por la expresión m[k]
. No hay valor de retorno. Eliminar una entrada inexistente es un no-op.
Actualización: la ejecución go fix
convertirá expresiones del formulario m[k] = value, false
en delete(m, k)
cuando esté claro que el valor ignorado se puede descartar de forma segura del programa y se false
refiere a la constante booleana predefinida. La herramienta de reparación marcará otros usos de la sintaxis para la inspección del programador.
sessions["moo"] = sessions["moo"], false;
(? O es que mal)