Sync
Escreva o teste primeiro
func TestContador(t *testing.T) {
t.Run("incrementar o contador 3 vezes resulta no valor 3", func(t *testing.T) {
contador := Contador{}
contador.Incrementa()
contador.Incrementa()
contador.Incrementa()
if contador.Valor() != 3 {
t.Errorf("resultado %d, esperado %d", contador.Valor(), 3)
}
})
}Tente rodar o teste
Escreva o mínimo de código possível para fazer o teste rodar e verifique a saída do teste que tiver falhado
Escreva código o suficiente para fazer o teste passar
Refatoração
Próximos passos
Escreva o teste primeiro
Tente rodar o teste
Escreva código o suficiente para fazer o teste passar
Já vi outros exemplos em que o sync.Mutex está embutido dentro da struct.
sync.Mutex está embutido dentro da struct.
Copiando mutexes
Resumo
Quando usar travas em vez de channels e goroutines?
go vet
Não use códigos embutidos apenas porque é conveniente
Last updated