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.
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.
Komentar yang paling membantu
Ya, itu akan: