Go: propuesta: sync: Map.Delete método debe devolver bool, indicando si la clave fue eliminada o no

Creado en 25 ene. 2018  ·  3Comentarios  ·  Fuente: golang/go

Propongo que exponga una variable de retorno bool en el mapa de sincronización, cambiándola de:

func (m * Map) Eliminar (interfaz clave {})

para:

func (m * Map) Delete (key interface {}) bool

El valor de retorno le dice a la persona que llama si el elemento se eliminó del mapa o no (verdadero si la clave estaba en el mapa, falso si la llamada no cambió nada). Parece que Map.Delete llama a Map.delete internamente, que ya tiene los datos de retorno necesarios en algunos casos.

Este cambio no rompería el código existente.

FrozenDueToAge Proposal

Comentario más útil

Este cambio no rompería el código existente.

Sí lo haría:

var deleteFn func(interface{}) = m.Delete

Todos 3 comentarios

Este cambio no rompería el código existente.

Sí lo haría:

var deleteFn func(interface{}) = m.Delete

Sí, no podemos cambiar ninguna firma de API. Véase también: https://blog.merovius.de/2015/07/29/backwards-compatibility-in-go.html

No podemos cambiar esta firma.

¿Fue útil esta página
0 / 5 - 0 calificaciones