Olá, Wagner! Boa pergunta!
A linguagem Go, embora tenha ponteiros como C++, lida com a memória de maneira diferente. Em Go, você não precisa se preocupar em desalocar a memória após o uso de um ponteiro, porque a linguagem possui um coletor de lixo integrado que cuida da desalocação de memória para você. Isso é uma grande diferença em relação ao C++, onde é responsabilidade do programador liberar a memória após o uso.
Quanto à segunda parte da sua pergunta, embora Go e C++ tenham o conceito de ponteiros, as duas linguagens são bastante diferentes e, portanto, nem tudo que você pode fazer com ponteiros em C++ pode ser feito em Go. Por exemplo, em Go, você não pode fazer aritmética de ponteiros, que é algo que você pode fazer em C++. Além disso, em Go, os ponteiros são tipados e você não pode converter um tipo de ponteiro para outro, ao contrário de C++.
No exemplo da aula, a variável contaDaCris
é um ponteiro para uma instância de ContaCorrente
. Isso significa que contaDaCris
não armazena diretamente os dados de uma ContaCorrente
, mas sim a localização na memória onde esses dados estão armazenados. Isso é semelhante ao conceito de ponteiros em C++, mas, como mencionado anteriormente, a gestão de memória é tratada de forma diferente.
Espero ter ajudado e bons estudos!