Go: Vorschlag: sync: Die Methode Map.Delete sollte bool zurückgeben, um anzuzeigen, ob der Schlüssel gelöscht wurde oder nicht

Erstellt am 25. Jan. 2018  ·  3Kommentare  ·  Quelle: golang/go

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.

FrozenDueToAge Proposal

Hilfreichster Kommentar

Diese Änderung würde den vorhandenen Code nicht beschädigen.

Ja es würde:

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

Alle 3 Kommentare

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.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen