Go - Arrays

Go programming language provides a data structure called the array, which can store a fixed-size sequential collection of elements of the same type.

An array is used to store a collection of data

All arrays consist of contiguous memory locations.

Declaring Arrays

To declare an array in Go, a programmer specifies the type of the elements and the number of elements required by an array as follows

var variable_name [SIZE] variable_type
This is called a single-dimensional array. The arraySize must be an integer constant greater than zero and type can be any valid Go data type. For example, to declare a 10-element array called balance of type float32, use this statement −

var balance [10] float32

Here, balance is a variable array that can hold up to 10 float numbers.

Initializing Arrays

You can initialize array in Go either one by one or using a single statement as follows.
var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
The number of values between braces { } can not be larger than the number of elements that we declare for the array between square brackets [ ].
var balance = []float32{1000.0, 2.0, 3.4, 7.0, 50.0}
You will create exactly the same array as you did in the previous example. Following is an example to assign a single element of the array
balance[4] = 50.0
The above statement assigns element number 5th in the array with a value of 50.0. All arrays have 0 as the index of their first element which is also called base index and last index of an array will be total size of the array minus 1.

Accessing Array Elements

An element is accessed by indexing the array name. This is done by placing the index of the element within square brackets after the name of the array. For example
float32 salary = balance[9]
The above statement will take 10th element from the array and assign the value to salary variable.
package main

import "fmt"

func main() {
   var n [12]int /* n is an array of 10 integers */
   var i,j int

   /* initialize elements of array n to 0 */         
   for i = 0; i < 12; i++ {
      n[i] = i + 100 /* set element at location i to i + 100 */
   /* output each array element's value */
   for j = 0; j < 12; j++ {
      fmt.Printf("Element[%d] = %d\n", j, n[j] )
When the above code is compiled and executed, it produces the following result

$go run main.go
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
Element[10] = 110
Element[11] = 111

Go Arrays in Detail

Sr.No Concept & Description
1 Multi-dimensional arrays

Go supports multidimensional arrays. The simplest form of a multidimensional array is the two-dimensional array.

2 Passing arrays to functions

You can pass to the function a pointer to an array by specifying the array's name without an index.

Accessing Two-Dimensional Array Elements

An element in two dimensional array is accessed by using the subscripts, i.e., row index and column index of the array. For example −

int val = a[2][3]