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