Перейти - Массивы
Язык программирования Go предоставляет структуру данных, называемую the array, который может хранить последовательную коллекцию фиксированного размера элементов одного и того же типа. Массив используется для хранения коллекции данных, но часто более полезно думать о массиве как о коллекции переменных одного типа.
Вместо объявления отдельных переменных, таких как number0, number1, ... и number99, вы объявляете одну переменную массива, такую как числа, и используете числа [0], числа [1] и ..., числа [99] для представления отдельные переменные. Доступ к определенному элементу в массиве осуществляется по индексу.
Все массивы состоят из непрерывных ячеек памяти. Самый низкий адрес соответствует первому элементу, а самый высокий адрес - последнему элементу.
Объявление массивов
Чтобы объявить массив в Go, программист указывает тип элементов и количество элементов, необходимых для массива, следующим образом:
var variable_name [SIZE] variable_type
Это называется одномерным массивом. ВarraySize должно быть целочисленной константой больше нуля и typeможет быть любым допустимым типом данных Go. Например, чтобы объявить массив из 10 элементов с именемbalance типа float32 используйте этот оператор -
var balance [10] float32
Вот, balance представляет собой массив переменных, который может содержать до 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
Выше оператор присваивает номер элемента 5 - й в массиве со значением 50,0. Все массивы имеют 0 в качестве индекса их первого элемента, который также называется базовым индексом, а последний индекс массива будет иметь общий размер массива минус 1. Ниже приводится графическое представление того же массива, который мы обсуждали выше.
Доступ к элементам массива
Доступ к элементу осуществляется путем индексации имени массива. Это делается путем помещения индекса элемента в квадратные скобки после имени массива. Например -
float32 salary = balance[9]
Вышеупомянутый оператор возьмет 10- й элемент из массива и присвоит значение переменной зарплаты. Ниже приведен пример, в котором будут использоваться все три вышеупомянутых концепции, а именно. объявление, присвоение и доступ к массивам -
package main
import "fmt"
func main() {
var n [10]int /* n is an array of 10 integers */
var i,j int
/* initialize elements of array n to 0 */
for i = 0; i < 10; i++ {
n[i] = i + 100 /* set element at location i to i + 100 */
}
/* output each array element's value */
for j = 0; j < 10; j++ {
fmt.Printf("Element[%d] = %d\n", j, n[j] )
}
}
Когда приведенный выше код компилируется и выполняется, он дает следующий результат:
Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109
Подробнее о массивах
Есть важные концепции, связанные с массивом, которые должны быть понятны программисту на Go:
Старший Нет | Концепция и описание |
---|---|
1 |
Многомерные массивы
Go поддерживает многомерные массивы. Простейшей формой многомерного массива является двумерный массив. |
2 | Передача массивов в функции
Вы можете передать функции указатель на массив, указав имя массива без индекса. |