Общие структуры данных в Go

Структуры данных используются для определения того, как данные хранятся в любой системе. Еще одно определение структуры данных, любезно предоставленное GeeksforGeeks, - это способ организации данных таким образом, чтобы их можно было использовать. эффективно .

По версии Компьютерная надежда:

«В общем, данные - это любой набор символов, который собирается и переводится для какой-то цели, обычно для анализа. Если данные не помещены в контекст, они ничего не сделают ни с человеком, ни с компьютером ».

Структуры данных и их типы перечислены ниже:

В этой статье я расскажу о некоторых основных структурах, таких как массивы и стеки.

Множество

Структура данных массива имеет смежные элементы с одинаковыми типами данных. В Golang массивы такие же, как в других языках, таких как Java. В массивах не допускается смешивание типов, поскольку они имеют один и тот же тип элементов.

Объявление массивов:

var array [4]int

var a [3]int объявляет целочисленный массив длины 4. Всем элементам в массиве автоматически присваивается нулевое значение типа массива. Итак, если вы распечатаете массив, вы получите массив типа [0, 0, 0, 0].

Массив выделяет непрерывный байт памяти, как показано ниже:

Вышеупомянутый массив имеет адреса непрерывной памяти в памяти. Таким образом, два свойства, получающие наблюдения для массива, - это length и capacity.

  1. Length: Сколько элементов в массиве.
  2. Capacity: сколько элементов может содержать массив.

У нас есть специальные функции для получения capacity и length массива в Golang.

Получение длины массива:

len(array)

Получение емкости массива:

cap(array)

Для определения продолжительности выполнения мы можем использовать эллипсы:

array := [...]int{5060, 8446, 5234}
fmt.Println(len(array)) // it will print 3

В Golang массивы являются типами значений, а не ссылочными типами. Размер массивов изменить нельзя. Чтобы преодолеть это, Golang предлагает концепцию срезов.

Куча

Стек представляет собой структуру данных LIFO (последний вошел - первым ушел) или FILO (первым пришел последний ушел) . Структура данных стека содержит две вещи: указатель стека (также называемый указателем пикового элемента или указателем вершины) и массив для хранения данных в стеке . Вставка и удаление происходят с одной стороны.

GeeksforGeeks дает другое определение:

«Стек - это линейная структура данных, которая следует определенному порядку выполнения операций. Порядок может быть LIFO (последний пришел - первым ушел) или FILO (первым пришел последний ушел) ».

Операции со стеком

1. Вставьте элемент в стек и увеличьте значение указателя на 1.

2. Вытащить элемент из стека и уменьшить значение указателя на 1.

3. Нажимая элемент, проверьте, заполнена ли уже стопка.

4. Выдвигая элемент, проверьте, пуст ли уже стек.

Вы можете увидеть мое приложение-терминал для стека на GitHub.

Заключение

Проще говоря, структуры данных определяют, как данные хранятся в системе. Вы должны выбрать структуру данных в соответствии с природой ваших данных.