Дані у Структурах
Тепер, коли ми знаємо, як створити екземпляр структури, слід навчитися зберігати та змінювати дані в ній.
Можна використовувати символ крапки (.), після якого вказується назва поля для звернення до нього. Розгляньте приклад у наступній програмі, де створюється екземпляр класу Student з іменем 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) }
Це відбувається тому, що жодні дані не були вручну збережені у структурі, внаслідок чого кожне з полів отримує типове нульове значення відповідно до свого типу.
Примітка
У Go не можна вказати власні типові значення для полів; мова автоматично призначає нульові значення полям відповідно до їхніх типів. Однак можна задати власні типові значення, створивши конструктор-функцію, що виходить за межі цього курсу, оскільки потребує знань про покажчики.
Можна також звертатися до полів і присвоювати їм значення, використовуючи той самий спосіб звернення, наприклад:
index.go
1student1.name = "Leo"
Відповідно, ми можемо змінити програму вище, щоб зберегти деякі початкові дані:
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) }
Примітка
Поля структури також називають членами.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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
Дані у Структурах
Свайпніть щоб показати меню
Тепер, коли ми знаємо, як створити екземпляр структури, слід навчитися зберігати та змінювати дані в ній.
Можна використовувати символ крапки (.), після якого вказується назва поля для звернення до нього. Розгляньте приклад у наступній програмі, де створюється екземпляр класу Student з іменем 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) }
Це відбувається тому, що жодні дані не були вручну збережені у структурі, внаслідок чого кожне з полів отримує типове нульове значення відповідно до свого типу.
Примітка
У Go не можна вказати власні типові значення для полів; мова автоматично призначає нульові значення полям відповідно до їхніх типів. Однак можна задати власні типові значення, створивши конструктор-функцію, що виходить за межі цього курсу, оскільки потребує знань про покажчики.
Можна також звертатися до полів і присвоювати їм значення, використовуючи той самий спосіб звернення, наприклад:
index.go
1student1.name = "Leo"
Відповідно, ми можемо змінити програму вище, щоб зберегти деякі початкові дані:
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) }
Примітка
Поля структури також називають членами.
Дякуємо за ваш відгук!