Go Arrays

The array is a data structure in the Go programming language that may contain a fixed-size sequential collection of pieces of the same type. Although an array is used to hold data, it is often more beneficial to conceive of it as a collection of variables of the same type.

Instead of declaring individual variables like number0, number1,…, and number99, you declare a single array variable called numbers and use numbers[0], numbers[1],…, numbers[99] to represent individual variables. An index is used to access a specific element in an array.

Contiguous memory addresses make up all arrays. The first element has the lowest address, and the last piece has the highest address.

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 [ ].

If you omit the size of the array, an array just big enough to hold the initialization is created. Therefore, if you write −

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

The array name is indexed to find an element. This is accomplished by enclosing the

element’s index in square brackets after the array’s name. For instance,

float32 salary = balance[9]

The above sentence assigns the value of the 10th element of the array to the wage variable. The following is an example that incorporates all three of the previously described concepts:

declaration, assignment, and array access.

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] )

When the above code is compiled and executed, it produces the following result −

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 Arrays in Detail

A Go programmer should understand the following fundamental facts about arrays:

  1. Multi-dimensional arrays: Multidimensional arrays are supported in Go. The two-dimensional array is the most basic type of multidimensional array.
  2. Passing arrays to functions: By supplying the array’s name without an index, you can send a pointer to the function.


Leave a Reply

Your email address will not be published. Required fields are marked *