Массивы в GO
ДОБАВИТЬ В КОНСПЕКТ
НАВИГАЦИЯ ПО СТРАНИЦЕ
В GO массив — это упорядоченная последовательность элементов одного типа с фиксированной длиной.
Объявление и инициализация массива
package main
import "fmt"
func main() {
// Объявление и инициализация массива
var numbers [5]int // Массив из 5 целых чисел, инициализированный нулями
fmt.Println(numbers) // Вывод: [0 0 0 0 0]
// Инициализация массива с заданными значениями
names := [3]string{"Alice", "Bob", "Charlie"}
fmt.Println(names) // Вывод: [Alice Bob Charlie]
}
Доступ к элементам массива
Элементы массива доступны по индексу, начиная с 0:
package main
import "fmt"
func main() {
numbers := [5]int{1, 2, 3, 4, 5}
// Доступ к элементам массива
fmt.Println(numbers[0]) // Вывод: 1
fmt.Println(numbers[2]) // Вывод: 3
}
Изменение элементов массива
Элементы массива можно изменять:
package main
import "fmt"
func main() {
numbers := [5]int{1, 2, 3, 4, 5}
// Изменение элемента массива
numbers[2] = 10
fmt.Println(numbers) // Вывод: [1 2 10 4 5]
}
Длина массива
Длина массива в GO является частью его типа. Массивы разной длины считаются разными типами:
package main
import "fmt"
func main() {
var arr1 [3]int
var arr2 [5]int
fmt.Println(len(arr1)) // Вывод: 3
fmt.Println(len(arr2)) // Вывод: 5
}
Многомерные массивы
GO также поддерживает многомерные массивы:
package main
import "fmt"
func main() {
// Многомерный массив
var matrix [3][2]int
matrix[0] = [2]int{1, 2}
matrix[1] = [2]int{3, 4}
matrix[2] = [2]int{5, 6}
fmt.Println(matrix)
// Вывод:
// [[1 2]
// [3 4]
// [5 6]]
}
Это основы работы с массивами в GO. Из-за их фиксированной длины и особенностей работы с памятью, срезы часто предпочтительнее массивов в GO для большинства задач.