Структура

Структура #

Структура - це набір типізованих полів, вона потрібна для того щоб поєднати декілька значень різних типів, які відносяться до опису одної сутності, в одну змінну. Наприклад, ми маємо М’яч. Як ми можемо його описати? М’яч має колір. Він має діаметр. Ще він може мати призначення - футбольний, баскетбольний. Але всі ці значення відносяться до одного й того самого об’єкту. Для опису такого об’єкту ми якраз і можемо скористатись структурою. Де кожну властивість зробити полем структури.

Struct

Змінна типу Структура оголошується за допомогою ключового слова 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 нашої структури