Структура #
Структура - це набір типізованих полів, вона потрібна для того щоб поєднати декілька значень різних типів, які відносяться до опису одної сутності, в одну змінну. Наприклад, ми маємо М’яч. Як ми можемо його описати? М’яч має колір. Він має діаметр. Ще він може мати призначення - футбольний, баскетбольний. Але всі ці значення відносяться до одного й того самого об’єкту. Для опису такого об’єкту ми якраз і можемо скористатись структурою. Де кожну властивість зробити полем структури.
Змінна типу Структура оголошується за допомогою ключового слова struct
. Далі у фігурних дужках ми на кожному рядку прописуємо назву поля та його тип.
var ball struct{
Color string
Size int
Purpose string
}
Таким чином ми створили змінну ball
з типом структури, в середині якої є поля Color
. Size
та Purpose
, кожне з яких має свій тип.
Так само як із масивами, зрізами та мапами ми можемо створити структуру зі встановленими значеннями полів, додавши ще пару фігурних дужок. У перших фігурних дужках ми описуємо наші поля, у других - задаємо значення для полів
ball := struct{
Color string
Size int
Purpose string
}{
Color: "red",
Size: 25,
Purpose: "football",
}
Зверніть увагу, що коли ми описуємо поля, ми використовуємо окремий рядок для кожного поля. Кома при цьому між кожним описом поля не ставиться. Для написання ж значень ми використовуємо кому. новий рядок у цьому випадку не обов’язковий, та він допомагає покращити читабельність коду
Після оголошення змінної з типом структури ми можемо встановити значення будь-якого поля у будь-який момент часу. Для цього ми використовуємо так званий “крапка”-синтаксис, тобто пишемо ім’я змінної зі структурою, далі крапка і ім’я поля. Ось як ми можемо встановити значення для поля Color
нашої структури:
ball.Color = "orange"
Так само ми можемо отримати значення будь-якого поля, звернувшись до структури і через крапку ім’я поля:
a := ball.Size
Так ми створили змінну a
зі значенням із поля Size
нашої структури