Go: proposal: sinkronisasi: Metode Map.Delete harus mengembalikan bool, menunjukkan apakah kunci telah dihapus atau tidak

Dibuat pada 25 Jan 2018  ·  3Komentar  ·  Sumber: golang/go

Saya mengusulkan agar Anda mengekspos variabel pengembalian bool di peta sinkronisasi, mengubahnya dari:

func (m *Peta) Hapus(antarmuka kunci{})

ke:

func (m *Peta) Hapus (antarmuka kunci{}) bool

Nilai yang dikembalikan memberi tahu pemanggil apakah item telah dihapus dari Peta atau tidak (true jika kunci ada di peta, salah jika panggilan tidak mengubah apa pun). Tampaknya Map.Delete memanggil Map.delete secara internal, yang sudah memiliki data pengembalian yang diperlukan dalam beberapa kasus.

Perubahan ini tidak akan merusak kode yang ada.

FrozenDueToAge Proposal

Komentar yang paling membantu

Perubahan ini tidak akan merusak kode yang ada.

Ya, itu akan:

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

Semua 3 komentar

Perubahan ini tidak akan merusak kode yang ada.

Ya, itu akan:

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

Ya, kami tidak dapat mengubah tanda tangan API apa pun. Lihat juga: https://blog.merovius.de/2015/07/29/backwards-compatibility-in-go.html

Kami tidak dapat mengubah tanda tangan ini.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat