Go podle Příkladů: Pole

Pole je v Go očíslovanou sekvencí prvků předem dané délky

package main
import "fmt"
func main() {

Zde vytváříme pole a které bude mít přesně 5 intů. Typ prvků a délka jsou obě součást typu pole. Přirozeně, pole je pole nulových hodnot, což pro pole intů znamená pole naplněné na 0.

    var a [5]int
    fmt.Println("prázdné:", a)

Můžeme nastavit hodnotu na indexu použitím syntaxe array[index] = value a získat hodnotu s použitím array[index].

    a[4] = 100
    fmt.Println("nastaveno:", a)
    fmt.Println("získáno:", a[4])

Zabudovaná funkce len vrací délku pole

    fmt.Println("délka:", len(a))

Použij tento zápis pro deklaraci a inicializaci pole v jednom řádku.

    b := [5]int{1, 2, 3, 4, 5}
    fmt.Println("deklarované:", b)

Typy polí jsou jedno-rozměrné, ale můžete typy skládat a vytvořit tak vícerozměrné datové struktury.

    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)
}

Všimněte se, že pole vypadají ve tvaru [v1 v2 v3 ...] když jsou vypsané s použitím fmt.Println.

$ go run arrays.go
prázdné: [0 0 0 0 0]
nastaveno: [0 0 0 0 100]
získáno: 100
délka: 5
deklarované: [1 2 3 4 5]
2d:  [[0 1 2] [1 2 3]]

V Go typicky daleko častěji uvidíte výřezy (slices) než pole. Na výřezy se podíváme dále.

Další příklad: Výřezy (slice).