Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Dati nelle Struct | Introduzione a Struct e Map
Introduzione a Golang

bookDati 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

index.go

copy
123456789101112131415161718192021
package 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

index.go

copy
1
student1.name = "Leo"

Pertanto, è possibile modificare il programma sopra per memorizzare alcuni dati iniziali come segue:

index.go

index.go

copy
123456789101112131415161718192021222324252627
package 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.

question mark

Quale simbolo si utilizza per accedere ai membri / campi di una struct:

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 6. Capitolo 3

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

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

bookDati 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

index.go

copy
123456789101112131415161718192021
package 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

index.go

copy
1
student1.name = "Leo"

Pertanto, è possibile modificare il programma sopra per memorizzare alcuni dati iniziali come segue:

index.go

index.go

copy
123456789101112131415161718192021222324252627
package 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.

question mark

Quale simbolo si utilizza per accedere ai membri / campi di una struct:

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 6. Capitolo 3
some-alt