Tipet kompozite: Segmentet

Duke qenë se vargjet në Go kanë gjatësi fikse dhe vlerat mund të jenë vetëm të një tipi të njëjtë, nuk përdoren shpesh drejtpërsëdrejti. Në anën tjetër, segmentet (slices) i hasim kudo nëpër kod për shkak të fleksibilitetit të tyre.

Segmentet paraqesin një pjesë të vargut, dhe njëjtë sikurse vargu, edhe segmentet kanë indekse dhe gjatësi (numër elementesh). Për dallim nga vargjet, segmenteve mund t’ua ndryshojmë gjatësinë, respektivisht t’u shtojmë anëtarë të rinj apo ta largojmë ndonjë anëtar ekzistues.

Një segment deklarohet njëjtë sikurse një varg, me dallimin që nuk ceket numri i anëtarëve.

var x []int

Në këtë rast, është krijuar një segment me gjatësi 0.

Në shembullin vijues, fillimisht krijohet segmenti x me 0 anëtarë, e më pas me funksionin append() shtohet nga një anëtarë tri herë radhazi.

package main

import (
    "fmt"
)

func main() {
    var x []int

    x = append(x, 5)
    fmt.Println(x)

    x = append(x, 3)
    fmt.Println(x)

    x = append(x, 8)
    fmt.Println(x)

}

https://play.golang.org/p/DKLRlKjpW50

Rezultati:

[5]
[5 3]
[5 3 8]
All Rights Reserved Theme by 404 THEME.