Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Visibilidade do saldo

sendo a struct assim:

type ContaCorrente struct {
    Titular       cliente.Titular
    NumeroAgencia int
    NumeroConta   int
    saldo         float32
}

onde o saldo é privado, ao tentar acessa-lo no main.go, não é possivel, porem se printar o objeto ele aparece

func main() {
    contaDoRafael := conta.ContaCorrente{
        Titular: cliente.Titular{
            Nome:      "Rafael",
            Cpf:       "098.756.978-98",
            Profissao: "programador"},
        NumeroAgencia: 589,
        NumeroConta:   12345}
    contaDoRafael.Depositar(432.87)

    fmt.Println(contaDoRafael)
}

Terminal:

$ go run main.go
{{Rafael 098.756.978-98 programador} 589 12345 432.87}

Assim é possivel visualizar o saldo mesmo sendo privado. É possivel que esse saldo não apareca caso seja printado?

1 resposta
solução!

Olá Rafael, tudo bem?

Acredito que não tenha uma solução geral para ocultar atributos privados ao realizar o print da struct. Talvez a solução seja escrever uma função que inspecione cada atributo e omita quaisquer campos sensíveis na saída.

fmt.Printf("%s", stripSaldo(contaDoRafael));

Algo do tipo