Unetway

Go - Массивы

Язык программирования Go обеспечивает структуру данных, называемую массивом , которая может хранить последовательный набор фиксированного размера элементов того же типа. Массив используется для хранения коллекции данных, но часто бывает полезно придумать массив как набор переменных того же типа.

Вместо объявления отдельных переменных, таких как number0, number1, ... и number99, вы объявляете одну переменную массива, такую ​​как числа, и используете числа [0], числа [1] и ..., числа [99] для представления отдельные переменные. К конкретному элементу массива обращается индекс.

Все массивы состоят из смежных областей памяти. Нижний адрес соответствует первому элементу и наивысшему адресу последнего элемента.

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

Чтобы объявить массив в Go, программист задает тип элементов и количество элементов, требуемых массивом, следующим образом:

var variable_name [SIZE] variable_type

Это называется одномерным массивом.arraySize должна быть целой константой больше нуля и типа может быть любым допустимым типом данных Go. Например, чтобы объявить 10-элементный массив, называемый балансом типа float32, используйте этот оператор:

var balance [10] float32

Здесь баланс представляет собой переменный массив, который может содержать до 10 чисел с плавающей запятой.

Инициализация массивов

Вы можете инициализировать массив в Go либо по одному, либо используя один оператор следующим образом:

var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}

Количество значений между фигурными скобками {} не может быть больше числа элементов, которые мы объявляем для массива между квадратными скобками [].

Если вы опустите размер массива, будет создан массив, достаточно большой для хранения инициализации. Поэтому, если вы пишете:

var balance = []float32{1000.0, 2.0, 3.4, 7.0, 50.0}

Вы создадите точно такой же массив, как в предыдущем примере. Ниже приведен пример назначения одного элемента массива:

balance[4] = 50.0

Доступ к элементам массива

Доступ к элементу осуществляется путем индексации имени массива. Это делается путем размещения индекса элемента в квадратных скобках после имени массива. 

float32 salary = balance[9]

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