Go: proposta: sync: O método Map.Delete deve retornar bool, indicando se a chave foi excluída ou não

Criado em 25 jan. 2018  ·  3Comentários  ·  Fonte: golang/go

Proponho que você exponha uma variável de retorno bool no mapa de sincronização, alterando-a de:

função (m * Map) Delete (key interface {})

para:

função (m * Map) Delete (key interface {}) bool

O valor de retorno informa ao chamador se o item foi removido do Mapa ou não (verdadeiro se a chave estava no mapa, falso se a chamada não mudou nada). Parece que Map.Delete chama Map.delete internamente, que já possui os dados de retorno necessários em alguns casos.

Essa mudança não quebraria o código existente.

FrozenDueToAge Proposal

Comentários muito úteis

Essa mudança não quebraria o código existente.

Sim, seria:

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

Todos 3 comentários

Essa mudança não quebraria o código existente.

Sim, seria:

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

Sim, não podemos alterar nenhuma assinatura de API. Veja também: https://blog.merovius.de/2015/07/29/backwards-compatibility-in-go.html

Não podemos alterar esta assinatura.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

bradfitz picture bradfitz  ·  3Comentários

michaelsafyan picture michaelsafyan  ·  3Comentários

natefinch picture natefinch  ·  3Comentários

gopherbot picture gopherbot  ·  3Comentários

myitcv picture myitcv  ·  3Comentários