Ich schlage vor, dass Sie eine boolesche Rückgabevariable in der Synchronisierungszuordnung verfügbar machen und sie ändern von:
func (m *Map) Löschen (Tastenschnittstelle{})
zu:
func (m *Map) Delete(key interface{}) bool
Der Rückgabewert teilt dem Aufrufer mit, ob das Element aus der Map entfernt wurde oder nicht (true, wenn sich der Schlüssel in der Map befand, false, wenn der Aufruf nichts geändert hat). Es scheint, dass Map.Delete Map.delete intern aufruft, das in einigen Fällen bereits die erforderlichen Rückgabedaten enthält.
Diese Änderung würde den vorhandenen Code nicht beschädigen.
Diese Änderung würde den vorhandenen Code nicht beschädigen.
Ja es würde:
var deleteFn func(interface{}) = m.Delete
Ja, wir können keine API-Signaturen ändern. Siehe auch: https://blog.merovius.de/2015/07/29/backwards-compatibility-in-go.html
Wir können diese Signatur nicht ändern.
Hilfreichster Kommentar
Ja es würde: