Je vous propose d'exposer une variable de retour bool dans la carte de synchronisation, en la modifiant de :
func (m *Carte) Supprimer (interface clé{})
à:
func (m *Map) Delete(key interface{}) bool
La valeur de retour indique à l'appelant si l'élément a été supprimé de la carte ou non (vrai si la clé était dans la carte, faux si l'appel n'a rien changé). Il semble que Map.Delete appelle Map.delete en interne, qui possède déjà les données de retour nécessaires dans certains cas.
Ce changement ne briserait pas le code existant.
Ce changement ne briserait pas le code existant.
Oui, ça ferait :
var deleteFn func(interface{}) = m.Delete
Oui, nous ne pouvons modifier aucune signature d'API. Voir aussi : https://blog.merovius.de/2015/07/29/backwards-compatibility-in-go.html
Nous ne pouvons pas changer cette signature.
Commentaire le plus utile
Oui, ça ferait :