Курс — «Программирование на Go для начинающих» — #8 Работа с данными. Коллекции: массивы, срезы и карты.
Здравствуйте, дорогие друзья.
В Go существует несколько структур данных для хранения коллекций: массивы, срезы и карты. Каждая из этих структур имеет свои особенности и предназначения. В этом разделе мы подробно рассмотрим их, чтобы вы могли выбрать наиболее подходящую структуру для решения ваших задач.
Массивы
Массивы в Go — это набор фиксированной длины элементов одного типа. Длина массива является частью его типа, что означает, что массивы в Go неизменяемы по размеру.
1 |
var a [5]int |
Этот код объявляет массив a
из пяти целых чисел, все элементы которого инициализируются нулями. Доступ к элементам массива осуществляется по индексу, начинающемуся с 0.
1 2 |
a[2] = 100 // Устанавливаем третий элемент массива в 100 fmt.Println(a[2]) // Выводит 100 |
Срезы
Срезы — это более гибкая и мощная альтернатива массивам. Срезы не имеют фиксированной длины, что позволяет динамически добавлять и удалять элементы. Срезы представляют собой область элементов массива, тем самым они обеспечивают динамические представления массивов.
1 |
s := []int{1, 2, 3} |
Этот код создает срез s
, который инициализируется тремя элементами. С помощью функции append
можно добавлять элементы в срез:
1 |
s = append(s, 4) // Добавляет элемент 4 в срез s |
Карты
Карты (или ассоциативные массивы) в Go — это неупорядоченные коллекции пар ключ-значение. Карты идеально подходят для быстрого поиска, добавления и удаления элементов по ключу.
1 |
m := make(map[string]int) |
Этот код создает карту m
, которая отображает строки в целые числа. Добавление и извлечение элементов из карты выполняется с использованием ключей:
1 2 |
m["ключ"] = 42 // Добавляет в карту пару ключ-значение fmt.Println(m["ключ"]) // Выводит 42 |
Сравнение и выбор
- Массивы идеально подходят, когда Вам нужна простая структура с фиксированным количеством однотипных элементов.
- Срезы являются более гибким вариантом для работы с коллекциями, размер которых может изменяться. Они предоставляют мощные инструменты для работы с динамическими последовательностями данных.
- Карты наилучшим образом подходят для ситуаций, когда необходимо быстро получать доступ к данным по ключу, а также добавлять и удалять пары ключ-значение.
Выбор между этими структурами данных зависит от конкретной задачи и требований к производительности и удобству использования в Вашем приложении на Go.
На этом все. Всем хорошего дня!
Цикл статей по курсу: «Язык программирования Go для начинающих».