Download our all in one automation tool for various social media websites.
In Golang, arrays are of a specific length that are used for storing elements in a numbered sequence. Number of an element in an array is called as element index. Array element index begin at 0.
Length of the array determines how many elements can be stored in an array.
Arrays are of fixed length and they can not be re-sized once they are initialized.
Because arrays are inflexible in nature they are less used and slices are more commonly used.
Code given below initializes a new array of a fixed length that has eight elements in it.
// initializing array of integers with custom values
var arrayOfIntegers = [8]int{1, 2, 3, 4, 5, 6, 7, 8}
Code given below demonstrates how to create a new array of string data type that has 3 elements in it.
var alphabets = [3]string{
"a", "b", "c",
}
...
is an operator used for automatic length declaration. Code given below
makes use of automatic length declaration operator to let the compiler figure
out what length to be used for the array.
Code
var alphabets = [...]string{
"a", "b", "c",
}
Arrays can be multi-dimensional.
Slices are an abstraction built on top of existing array data type.
Slices are references to existing arrays. In Golang slices are designed to act like dynamic arrays however they are just references to an existing array of a fixed length.
Slices feel like dynamic arrays however they are not dynamic arrays they are just abstractions built to feel like dynamic arrays that are built on top of existing array data type.
When a modification is made to the slice the underlying array referenced by the slice is modified.
Two slices can reference the same underlying array so if a modification is made to the first slice it will reflect on any slice that references the same array.
Slices in Golang may have following components:
Slices are declared just like arrays however the length of the array is omitted:
var slice3 = []string{"a", "b", "c", "d", "e", "f"}
Slices can also be created using the built in make
function:
s := make([]string, 5)