I puntatori sono utili in quanto ci consentono di archiviare la memoria di un indirizzo in cui sono archiviati i dati detenuti da una variabile. Usando i puntatori, determiniamo il valore memorizzato dalla variabile a quell'indirizzo di memoria.
In questo articolo per principianti, discuteremo di come iniziare con i puntatori nel linguaggio di programmazione Go.
Golang dichiara variabile
Dichiariamo un puntatore uguale a quello che dichiariamo una variabile normale. Tuttavia, utilizziamo l'operatore di dereferencing per mostrare che la variabile contiene un puntatore.
Prima di dichiarare una variabile, ci sono due operatori che dobbiamo conoscere:
La sintassi seguente mostra come dichiarare una variabile puntatore:
var pointer_name *data_typeAd esempio, il codice seguente dichiara una variabile puntatore "PTR" che contiene l'indirizzo dei tipi INT.
var ptr *intGolang Initialize Pointer
Possiamo inizializzare un puntatore allocando l'indirizzo di memoria di una variabile usando l'operatore dell'indirizzo, mostrato sopra.
Un esempio è come mostrato:
Pacchetto principaleNell'esempio sopra, iniziamo dichiarando una variabile con un valore intero. Creiamo quindi un puntatore con in mano l'indirizzo di memoria della variabile.
Una volta che abbiamo stampato l'indirizzo, dovremmo ottenere un output di esempio come mostrato:
$ go run puntain.andarePossiamo anche dichiarare una variabile e impostare il valore più avanti nel codice. Un esempio è come mostrato:
Pacchetto principaleQui, dichiariamo il puntatore e successivamente impostiamo il suo valore utilizzando l'operatore dell'indirizzo.
Puntatore di Golang Nil
Se si dichiara un puntatore e non si assegna un valore, il puntatore contiene un valore zero. Per esempio:
Pacchetto principaleIl codice sopra restituisce zero.
Tipo di puntatore
Nel nostro esempio, abbiamo dichiarato il tipo di punta. Ciò significa che il puntatore può contenere solo la memoria indirizzata al tipo di dati specificato.
Se si tenta di memorizzare l'indirizzo di un altro tipo, il compilatore restituisce un errore come mostrato nell'esempio seguente:
Pacchetto principaleNell'esempio sopra, dichiariamo una variabile con il tipo int. Tuttavia, assegniamo un indirizzo di un tipo di stringa.
Il compilatore restituisce un errore come:
.\ puntatore.GO: 11: 6: Impossibile usare e STR (tipo *String) come tipo *int in AssegnazionePer evitare questo, puoi usare il metodo letterale di Dichiarazione del puntatore. Ad esempio, possiamo fare:
Pacchetto principaleL'esempio sopra consente al compilatore di determinare il tipo di indirizzo da contenere nel puntatore specificato.
Dereferenza del puntatore Golang
Per accedere al valore memorizzato a un indirizzo specifico, possiamo utilizzare l'operatore di dereferencing. Un codice di esempio è come mostrato:
Pacchetto principaleIl codice sopra utilizza l'operatore di dereferencing per ottenere il valore memorizzato all'indirizzo detenuto dal puntatore "PTR"
L'output risultante è come:
X: 100Conclusione
Questa guida ti guida attraverso le basi del lavoro con i puntatori in Go. Usando i puntatori, è possibile accedere e archiviare l'indirizzo di memoria di una variabile. È inoltre possibile utilizzare il puntatore per accedere alla variabile memorizzata a un indirizzo di memoria specifico.
Grazie per aver letto!