Sobes.tech
Middle

Cos'è un puntatore e quanto spazio di memoria occupa?

sobes.tech AI

Risposta dell'AI

Un puntatore in Go è una variabile che memorizza l'indirizzo di un'altra variabile in memoria. Permette di lavorare direttamente con i dati a quell'indirizzo, utile per ottimizzare e passare grandi strutture senza copiarle.

La dimensione del puntatore dipende dall'architettura del sistema:

  • Su sistemi a 32 bit, il puntatore occupa 4 byte.
  • Su sistemi a 64 bit, occupa 8 byte.

Esempio di utilizzo di un puntatore in Go:

package main
import "fmt"

func main() {
    var a int = 42
    var p *int = &a // p è un puntatore a a
    fmt.Println("Valore di a:", a)
    fmt.Println("Indirizzo di a:", p)
    *p = 100 // modifica del valore tramite il puntatore
    fmt.Println("Nuovo valore di a:", a)
}