Dati nelle Struct
Ora che sappiamo come creare un'istanza di una struttura, dobbiamo imparare come memorizzare e modificare i dati al suo interno.
Possiamo utilizzare il simbolo punto (.) seguito dal nome del campo per farvi riferimento. Considera l'esempio nel seguente programma, dove creiamo un'istanza della struttura Student chiamata student1:
index.go
123456789101112131415161718192021package main import "fmt" type Student struct { name string age int id int course string grades [5]float32 } func main() { var student1 Student fmt.Println("Name:", student1.name) fmt.Println("Age:", student1.age) fmt.Println("ID:", student1.id) fmt.Println("Course:", student1.course) fmt.Println("Grades:", student1.grades) }
Questo accade perché nessun dato è stato memorizzato manualmente nella struttura, facendo sì che ciascun campo assuma un valore zero predefinito in base al proprio tipo.
Nota
In Go, non è possibile specificare valori predefiniti personalizzati per i campi; il linguaggio assegna automaticamente valori zero ai campi in base ai loro tipi. Tuttavia, è possibile definire valori predefiniti personalizzati creando una funzione costruttrice, argomento che non viene trattato in questo corso poiché richiede la conoscenza dei puntatori.
È inoltre possibile fare riferimento e assegnare valori ai campi utilizzando lo stesso metodo di riferimento, ad esempio:
index.go
1student1.name = "Leo"
Pertanto, è possibile modificare il programma sopra per memorizzare alcuni dati iniziali come segue:
index.go
123456789101112131415161718192021222324252627package main import "fmt" type Student struct { name string age int id int course string grades [5]float32 } func main() { var student1 Student student1.name = "Leo" student1.age = 21 student1.id = 121 student1.course = "CS" student1.grades = [5] float32 { 4.5, 4.55, 4.49, 4.92, 5.0 } fmt.Println("Name:", student1.name) fmt.Println("Age:", student1.age) fmt.Println("ID:", student1.id) fmt.Println("Course:", student1.course) fmt.Println("Grades:", student1.grades) }
Nota
I campi di una struct sono anche chiamati membri.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
What are the zero values for different data types in Go?
Can you explain how to assign values to struct fields?
What is a constructor function in Go?
Awesome!
Completion rate improved to 1.96
Dati nelle Struct
Scorri per mostrare il menu
Ora che sappiamo come creare un'istanza di una struttura, dobbiamo imparare come memorizzare e modificare i dati al suo interno.
Possiamo utilizzare il simbolo punto (.) seguito dal nome del campo per farvi riferimento. Considera l'esempio nel seguente programma, dove creiamo un'istanza della struttura Student chiamata student1:
index.go
123456789101112131415161718192021package main import "fmt" type Student struct { name string age int id int course string grades [5]float32 } func main() { var student1 Student fmt.Println("Name:", student1.name) fmt.Println("Age:", student1.age) fmt.Println("ID:", student1.id) fmt.Println("Course:", student1.course) fmt.Println("Grades:", student1.grades) }
Questo accade perché nessun dato è stato memorizzato manualmente nella struttura, facendo sì che ciascun campo assuma un valore zero predefinito in base al proprio tipo.
Nota
In Go, non è possibile specificare valori predefiniti personalizzati per i campi; il linguaggio assegna automaticamente valori zero ai campi in base ai loro tipi. Tuttavia, è possibile definire valori predefiniti personalizzati creando una funzione costruttrice, argomento che non viene trattato in questo corso poiché richiede la conoscenza dei puntatori.
È inoltre possibile fare riferimento e assegnare valori ai campi utilizzando lo stesso metodo di riferimento, ad esempio:
index.go
1student1.name = "Leo"
Pertanto, è possibile modificare il programma sopra per memorizzare alcuni dati iniziali come segue:
index.go
123456789101112131415161718192021222324252627package main import "fmt" type Student struct { name string age int id int course string grades [5]float32 } func main() { var student1 Student student1.name = "Leo" student1.age = 21 student1.id = 121 student1.course = "CS" student1.grades = [5] float32 { 4.5, 4.55, 4.49, 4.92, 5.0 } fmt.Println("Name:", student1.name) fmt.Println("Age:", student1.age) fmt.Println("ID:", student1.id) fmt.Println("Course:", student1.course) fmt.Println("Grades:", student1.grades) }
Nota
I campi di una struct sono anche chiamati membri.
Grazie per i tuoi commenti!