Dichiarare variabili puntatore
Fa parte della sezione Fondamenti del percorso GO di Coddy. Lezione 61 di 109.
In Go, puoi dichiarare i puntatori in due modi principali: usando var con un tipo puntatore oppure usando l’operatore indirizzo con :=.
Dichiara un puntatore usando var con un tipo puntatore:
func main() {
var x int = 42
var ptr *int // Dichiara un puntatore a un intero
ptr = &x // Assegna l'indirizzo di x a ptr
fmt.Println("Value of x:", x)
fmt.Println("Value of ptr:", ptr)
fmt.Println("Value at ptr:", *ptr)
}L'output mostra che il puntatore memorizza l'indirizzo di x:
Value of x: 42
Value of ptr: 0xc000018030
Value at ptr: 42Puoi anche dichiarare e inizializzare un puntatore in una sola riga usando :=:
y := 100
ptr := &y // Dichiara e inizializza il puntatore in un solo passaggioSfida
PrincipianteIn questa sfida, ti eserciterai a dichiarare e usare i puntatori in Go. È già stato predisposto un puntatore e il tuo compito è creare un nuovo puntatore che punti allo stesso valore.
Completa il TODO nel codice per dichiarare una nuova variabile puntatore chiamata 'secondPointer' che punti allo stesso indirizzo di memoria del puntatore esistente.
Provalo tu
package main
import "fmt"
func main() {
// Ecco una variabile e un puntatore a essa
originalValue := 42
pointerToValue := &originalValue
// TODO: Dichiara una nuova variabile puntatore chiamata 'secondPointer'
// che punti allo stesso indirizzo di memoria di 'pointerToValue'
// Non modificare il codice qui sotto
fmt.Printf("Original value: %v\n", originalValue)
fmt.Printf("Value through first pointer: %v\n", *pointerToValue)
fmt.Printf("Value through second pointer: %v\n", *secondPointer)
// Cambiamo il valore originale e osserviamo come tutti i puntatori riflettano la modifica
originalValue = 100
fmt.Printf("\nAfter changing original value to 100:\n")
fmt.Printf("Original value: %v\n", originalValue)
fmt.Printf("Value through first pointer: %v\n", *pointerToValue)
fmt.Printf("Value through second pointer: %v\n", *secondPointer)
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori di confronto e logici
Operatori di confronto - Parte 1Operatori di confronto - Parte 2Operatore AND logicoOperatore OR logicoOperatore NOT logicoNozioni di base sulla precedenza degli operatoriRiepilogo - Eseguire confronti7Flusso di controllo: cicli
Come funziona il ciclo `for`Ciclo `for` - baseCiclo `for` - solo condizioneLa parola chiave `break`La parola chiave `continue`Cicli annidatiRiepilogo - ripetere le azioni2Variabili e tipi di dati di base
Che cos'è una variabileInferenza del tipo con `:=`Numeri interi (int)Numeri in virgola mobileValori booleaniStringheValori zeroCostantiConvenzioni di denominazioneRiepilogo: variabili e tipi5Input/output di base
Output formattatoVerbi di formattazioneVisualizzazione dei tipiAcquisire input di base dall’utenteRiepilogo - Input e output8Funzioni
Capire le funzioniDichiarare una funzioneChiamare le funzioniParametri delle funzioniRestituire un singolo valoreRestituire più valoriValori restituiti con nomeFondamenti dell'ambito delle funzioniRiepilogo - Creare codice riutilizzabile3Operatori di base
Operatori aritmeticiOperatore di divisioneL'operatore moduloOperatore di assegnazioneOperatori di assegnazione compostaIncremento e decrementoRiepilogo - Calcoli6Flusso di controllo: condizioni
L'istruzione `if`La parola chiave `else`La parola chiave `else if`Ombreggiamento delle variabili in `if`Inizializzare le variabiliL'istruzione `switch``switch` con espressioni`switch` senza espressioneLa parola chiave `fallthrough`Riepilogo: prendere decisioni9Puntatori
Che cos’è un puntatore?Dichiarare variabili puntatoreL’operatore indirizzoDereferenziare i puntatoriUsare i puntatori nelle funzioniPuntatori nilRipasso - Capire i puntatori12Tipi compositi: mappe
Introduzione alle mappeDichiarare i letterali delle mappeCreare mappe con `make`Aggiungere e aggiornare coppie chiave-valoreAccedere ai valori delle mappeVerificare l'esistenza di una chiaveEliminare elementi dalle mappeLunghezza delle mappeIterare sulle mappeRiepilogo - Archiviazione chiave-valoreEsercitati da solo: Compilatore Go online