package main

import "fmt"

func main() {
	// 1 способ инициализации массива
	//  имя         тип
	var array [5]string

	// 2 способ - литерал
	var arr2 = [3]int{0, 1, 2}

	// 3 способ
	arr3 := [2]bool{false, true}

	fmt.Print(arr2, array, arr3, "\n")

	// доступ к элементу массива по индексу
	fmt.Println(arr3[1])

	// присваивание значения элементу массива
	array[3] = "Hello Go!"
	fmt.Println(array)
	fmt.Printf("%#v\n", array)

	// перебор элементов массива в цикле for
	for i := 0; i < 5; i++ {
		fmt.Printf("%d %#v\n", i, array[i])
	}

	// длина массива
	fmt.Println("Длина массива 'array' =", len(array))
	for i := 0; i < len(array); i++ {
		fmt.Println(i, array[i])
	}

	fmt.Println()
	// безопасный перебор массива
	for idx, value := range array {
		fmt.Println(idx, value)
	}
}
