type verificarConta interface {
Sacar(valor float64) string
}
Eu não entendi pq a interface retorna uma string, poderia me ajudar?
Poderia ser também um int ou float64?
type verificarConta interface {
Sacar(valor float64) string
}
Eu não entendi pq a interface retorna uma string, poderia me ajudar?
Poderia ser também um int ou float64?
Fala Bruno como vai?
Segundo a própria documentação do Google, denominamos interface como uma coleção de assinatura de método. Para exemplificar melhor observe o método 'sacar' da conta corrente:
func (c *ContaCorrente) Sacar(valorDoSaque float64) string {
podeSacar := valorDoSaque > 0 && valorDoSaque <= c.saldo
if podeSacar {
c.saldo -= valorDoSaque
return "Saque realizado com sucesso"
} else {
return "saldo insuficiente"
}
}
Observe que o retorno desta função é uma mensagem informando se o saque foi realizado ou não. Sendo assim, quando criamos a interface que verifica a conta, é necessário utilizar a mesma assinatura do método referenciado.
Espero que te ajude e conte com a Alura!
: )