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

Uso do c *ContaCorrente

Ola,

Se o c ContaCorrente é "igual" ao this do java, eu so posso chamar ele usando uma variavel do tipo ContaCorrente? Funciona como se eu estivesse criando um método dentro da minha classe conta corrente?

Desculpa se a pergunta foi respondida em aula e me passou batido.

1 resposta
solução!

Boa noite Carlos, blz?

No início eu também fiquei um pouco confuso, ja que estou acostumado a criar os métodos dentro de classes no Java, mas dando uma pesquisada eu entendi dessa forma:

No Java, ao criarmos uma classe com seus atributos e métodos, eles ficarão acessíveis após você instanciar a classe, dependendo do encapsulamento.

Ja no Go Lang, não conseguimos criar métodos diretamente dentro do struct. Para dizer que aquele método pertence a uma struct, usamos a abordagem feita no vídeo.

Abaixo tem um exemplo que tirei de um site, talvez fique um pouco mais claro:

type Passaro struct {
}

func (p Passaro) bicar() {
    fmt.Println("bicando")
}

func (p Passaro) voar() {
    fmt.Println("voando")
}

func (p Passaro) comer() {
    fmt.Println("comendo")
}

Dessa forma, quando instanciarmos uma classe pato, os métodos criados acima serão acessíveis:

pato := Passaro {}
pato.bicar()
pato.voar()
pato.comer()