Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Data i Strukturer | Introduktion till Structs och Maps
Introduktion till Golang

bookData i Strukturer

Nu när vi vet hur man skapar en instans av en struktur, bör vi lära oss hur man lagrar och ändrar data i dem.

Vi kan använda punkt (.)-symbolen följt av fältnamnet för att referera till det. Titta på exemplet i följande program, där vi skapar en instans av klassen Student kallad 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) }

Detta beror på att ingen data manuellt lagrades i strukturen, vilket gör att varje fält får ett förinställt nollvärde baserat på dess typ.

Obs

I Go kan vi inte ange egna standardvärden för fälten; det tilldelas automatiskt nollvärden till fälten baserat på deras typer. Vi kan dock ange egna standardvärden genom att skapa en konstruktörsfunktion, vilket ligger utanför denna kurs eftersom det kräver kunskap om pekare.

Vi kan också referera till och tilldela värden till fälten med samma referensmetod, till exempel:

index.go

index.go

copy
1
student1.name = "Leo"

Därför kan vi ändra programmet ovan för att lagra viss initial data på lämpligt sätt:

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) }

Obs

Fälten i en struct kallas även medlemmar.

question mark

Vilken symbol används för att komma åt struct-medlemmar / fält:

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 6. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Awesome!

Completion rate improved to 1.96

bookData i Strukturer

Svep för att visa menyn

Nu när vi vet hur man skapar en instans av en struktur, bör vi lära oss hur man lagrar och ändrar data i dem.

Vi kan använda punkt (.)-symbolen följt av fältnamnet för att referera till det. Titta på exemplet i följande program, där vi skapar en instans av klassen Student kallad 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) }

Detta beror på att ingen data manuellt lagrades i strukturen, vilket gör att varje fält får ett förinställt nollvärde baserat på dess typ.

Obs

I Go kan vi inte ange egna standardvärden för fälten; det tilldelas automatiskt nollvärden till fälten baserat på deras typer. Vi kan dock ange egna standardvärden genom att skapa en konstruktörsfunktion, vilket ligger utanför denna kurs eftersom det kräver kunskap om pekare.

Vi kan också referera till och tilldela värden till fälten med samma referensmetod, till exempel:

index.go

index.go

copy
1
student1.name = "Leo"

Därför kan vi ändra programmet ovan för att lagra viss initial data på lämpligt sätt:

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) }

Obs

Fälten i en struct kallas även medlemmar.

question mark

Vilken symbol används för att komma åt struct-medlemmar / fält:

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 6. Kapitel 3
some-alt