Sobes.tech
Junior — Middle

Da li je moguće implementirati ili koristiti dinamički niz u jeziku Go i kako se to radi?

sobes.tech АИ

Одговор од АИ

U Go jeziku, dinamički nizovi se implementiraju pomoću slice-ova. Slice je struktura koja sadrži pokazivač na niz, dužinu i kapacitet, i omogućava dinamičko menjanje veličine.

Primer kreiranja i korišćenja dinamičkog niza:

package main
import "fmt"

func main() {
    var s []int          // prazan slice
    s = append(s, 1)     // dodavanje elementa
    s = append(s, 2, 3)  // dodavanje više elemenata
    fmt.Println(s)       // [1 2 3]

    // Može se kreirati slice sa početnim kapacitetom
    s2 := make([]int, 0, 5) // dužina 0, kapacitet 5
    s2 = append(s2, 10, 20)
    fmt.Println(s2)      // [10 20]
}

Slice-ovi se automatski proširuju pri dodavanju elemenata pomoću append; ukoliko je potrebno, alocira se novi veći niz i podaci se kopiraju.

Za dinamički niz u Go, dovoljno je koristiti slice-ove i funkciju append.