Тип array
Тип array в Go представляет собой упорядоченную
коллекцию элементов одного типа с фиксированной длиной.
Длина массива является частью его типа, поэтому массивы
с разной длиной считаются разными типами. Массивы
передаются по значению, то есть при присваивании
или передаче в функцию создается копия всего массива.
Синтаксис
var arr [N]Type
arr := [N]Type{values}
Где N — длина массива (константа),
Type — тип элементов, а values —
значения для инициализации.
Пример
Объявим массив из 5 целых чисел и выведем его:
package main
import "fmt"
func main() {
var arr [5]int
fmt.Println(arr)
}
Результат выполнения кода:
[0 0 0 0 0]
По умолчанию все элементы массива инициализируются нулевыми значениями соответствующего типа.
Пример
Инициализируем массив строк при объявлении:
package main
import "fmt"
func main() {
arr := [5]string{"a", "b", "c", "d", "e"}
fmt.Println(arr)
}
Результат выполнения кода:
[a b c d e]
Пример
Получим доступ к элементу массива по индексу и изменим его значение:
package main
import "fmt"
func main() {
arr := [3]int{1, 2, 3}
arr[0] = 10
fmt.Println(arr)
}
Результат выполнения кода:
[10 2 3]
Пример
Перебор элементов массива с помощью цикла for:
package main
import "fmt"
func main() {
arr := [4]int{10, 20, 30, 40}
for i := 0; i < len(arr); i++ {
fmt.Println(arr[i])
}
}
Результат выполнения кода:
10
20
30
40
Пример
Используем range для перебора массива
с получением индекса и значения:
package main
import "fmt"
func main() {
arr := [3]string{"a", "b", "c"}
for idx, val := range arr {
fmt.Printf("Index: %d, Value: %s\n", idx, val)
}
}
Результат выполнения кода:
"Index: 0, Value: a"
"Index: 1, Value: b"
"Index: 2, Value: c"