Общие структуры данных в Go
Структуры данных используются для определения того, как данные хранятся в любой системе. Еще одно определение структуры данных, любезно предоставленное GeeksforGeeks, - это способ организации данных таким образом, чтобы их можно было использовать. эффективно .
По версии Компьютерная надежда:
«В общем, данные - это любой набор символов, который собирается и переводится для какой-то цели, обычно для анализа. Если данные не помещены в контекст, они ничего не сделают ни с человеком, ни с компьютером ».
Структуры данных и их типы перечислены ниже:
В этой статье я расскажу о некоторых основных структурах, таких как массивы и стеки.
Множество
Структура данных массива имеет смежные элементы с одинаковыми типами данных. В Golang массивы такие же, как в других языках, таких как Java. В массивах не допускается смешивание типов, поскольку они имеют один и тот же тип элементов.
Объявление массивов:
var array [4]int
var a [3]int
объявляет целочисленный массив длины 4
. Всем элементам в массиве автоматически присваивается нулевое значение типа массива. Итак, если вы распечатаете массив, вы получите массив типа [0, 0, 0, 0].
Массив выделяет непрерывный байт памяти, как показано ниже:
Вышеупомянутый массив имеет адреса непрерывной памяти в памяти. Таким образом, два свойства, получающие наблюдения для массива, - это length
и capacity
.
Length
: Сколько элементов в массиве.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.
Заключение
Проще говоря, структуры данных определяют, как данные хранятся в системе. Вы должны выбрать структуру данных в соответствии с природой ваших данных.