Sobes.tech
Middle

O que é um ponteiro e quanto espaço de memória ocupa?

sobes.tech IA

Resposta da IA

Um ponteiro em Go é uma variável que armazena o endereço de outra variável na memória. Ele permite trabalhar diretamente com os dados nesse endereço, o que é útil para otimização e para passar grandes estruturas sem cópia.

O tamanho do ponteiro depende da arquitetura do sistema:

  • Em sistemas de 32 bits, o ponteiro ocupa 4 bytes.
  • Em sistemas de 64 bits, ocupa 8 bytes.

Exemplo de uso de ponteiro em Go:

package main
import "fmt"

func main() {
    var a int = 42
    var p *int = &a // p é um ponteiro para a
    fmt.Println("Valor de a:", a)
    fmt.Println("Endereço de a:", p)
    *p = 100 // alteração do valor através do ponteiro
    fmt.Println("Novo valor de a:", a)
}