Масиви|Arrays
#
// В Go - масивом є нумерована стуктура даних визначеної довжини та типу.
// Типово, використання у Go [зрізів](slices) більш поширене, але масиви
// все ж корисні у ряді випадків.
package main
import "fmt"
func main() {
// Ми створюємо масив `a`, що вміщуватиме 5 цілих чисел
// (тип `int`). Тип елементів та довжина є частиною типізації масиву.
// Не ініціалізовані значення масиву - приймаматимуть нульове значення
// базового типу (наприклад `0` для `int`)
var a [5]int
fmt.Println("emp:", a)
// Ми можемо використовувати наступні синтаксисичні конструкції
// для встановлення значень за індексом `array[index] = value`,
// або дял отримань значень `array[index]`.
a[4] = 100
fmt.Println("set:", a)
fmt.Println("get:", a[4])
// Вбудована функція `len` повертає довжину нашого масиву.
fmt.Println("len:", len(a))
// Для декларацій та ініціалізації массива одним рядком -
// скористайтесь наступним синтаксисом:
b := [5]int{1, 2, 3, 4, 5}
fmt.Println("dcl:", b)
// Ви можете компонувати одномірні масиви в багатомірні. Наприклад,
// ось тут - ми створюємо багатомірний масив з базовим типом елемента
// `масив цілих чисел` (`array of int`s), кожен з яких є одномірним масивом
// з базовим елементом - ціле число (`int`).
var twoD [2][3]int
for i := 0; i < 2; i++ {
for j := 0; j < 3; j++ {
twoD[i][j] = i + j
}
}
fmt.Println("2d: ", twoD)
}
# Зауважте, масив, що надруковано функцією `fmt.Println`
# буде виведено у вигляді `[v1 v2 v3 ...]`
$ go run arrays.go
emp: [0 0 0 0 0]
set: [0 0 0 0 100]
get: 100
len: 5
dcl: [1 2 3 4 5]
2d: [[0 1 2] [1 2 3]]
# Масив служить основою іншій структурі даних що
# називається назвою - _зріз_ (_slices_)