Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Boa noite, estou tendo problemas com o &contaDaLuisa

Boa noite, tudo bem?

coloquei o & e mesmo assim continua com erro. Saberiam me dizer o motivo?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

package main

import (
    "fmt"
    "banco/contas"
)

func PagarBoleto(conta verificarConta, valorDoBoleto float64) {
    conta.Sacar(valorDoBoleto)
}

type verificarConta interface {
    Sacar(valor float64) string
}

func main() {
    contaDaLuisa := contas.ContaCorrente{}
    contaDaLuisa.Depositar(500)
    PagarBoleto(&contaDaLuisa, 400)

    fmt.Println(contaDaLuisa.ObterSaldo())
}
2 respostas
solução!

Ao meu ver as funções sacar não estão iguais, para uma interface funcionar os métodos no seu caso Sacar precisam ser iguais com as mesmas variaveis de entrada até nomenclatura e com os valores de saida caso tenha.

Você ai tem Sacar(valorDoSaque float64) e na contas o Sacar(valor float64) string.

deixe as duas funções igual ai você conseguirá usar.

Era isso mesmo, arrumei no mesmo dia quando percebi meu equívoco!