Golang -matrise vedlegg

Golang -matrise vedlegg
En skive er en fleksibel og utvidbar datastruktur som brukes til å lagre og administrere en samling bestilte data. De ligner veldig på matriser med en hovedforskjell: skiver er av dynamisk lengde, slik at du kan utvide eller krympe lengden slik du ser passer.

I likhet med matriser bruker vi indekser for å få tilgang til elementer i en skive. De har også lengde- og kapasitetsegenskaper.

I denne guiden vil vi diskutere hvordan du kan jobbe med skiver og hvordan du kan legge til eller fjerne elementer fra en skive slik du synes passer.

Gå og lag skive

Du kan opprette en skive på samme måte som du ville når du oppretter en matrise. Vi starter med navnet på matrisen, etterfulgt av et par firkantede parenteser og datatypen.

Husk at en skive bare kan holde elementer av samme type.

Tenk på eksemplet nedenfor for å lage en tom matrise:

var skive_array [] streng

For å lage en skive med elementer, kan vi gjøre:

var skive_name: = [] streng "element1", "element2", "element3", ...

Skriv ut skive

Du kan skrive ut en skive ved hjelp av FMT.Println -metoden. For eksempel:

pakkehoved
Importer "FMT"
func main ()
my_slice: = [] streng
"Winnie",
"Rick",
"Anna",
"Elsa",
"Olaf",

fmt.Println ("skive:", my_slice)

Eksemplet over returnerer hvert element i skiven som vist nedenfor:

Skive: [Winnie Rick Anna Elsa Olaf]

For å vise lengden på skiven, kan du bruke Len () -metoden:

fmt.Println ("Lenght:", Len (my_slice))

Et eksempelutgang er som vist:

Lenght: 5

Du kan også bestemme kapasiteten til en skive ved hjelp av cap () -metoden som vist:

fmt.Println ("kapasitet:", cap (my_slice))

Utgangen er som vist:

Kapasitet: 5

Lengden på matrisen refererer til det totale antall elementer en matrise holder. I kontrast refererer kapasitet til antall elementer i den underliggende matrisen fra det første elementet i den spesifiserte skiven.

Legg til for å skive

Som nevnt er en skive av dynamisk størrelse. Dette lar deg legge til eller fjerne elementer slik du synes passer.

For å legge til et element i en skive i Go, kan vi bruke Appled () -metoden.

Et eksempel er som vist:

my_slice: = [] streng
"Winnie",
"Rick",
"Anna",
"Elsa",
"Olaf",

my_slice = vedlegg (my_slice, "David",)

APPLED () -metoden tar navnet på skiven og det nye elementet å legge til. I eksemplet over legger vi elementet “David” til skiven “My_slice”.

Den resulterende skiven er som vist:

Skive: [Winnie Rick Anna Elsa Olaf David]

Du kan legge til flere elementer ved å bruke append () -funksjonen som:

my_slice = vedlegg (my_slice, "David", "Mary")

Merk: En skive vil alltid opprettholde rekkefølgen på elementer, og nye elementer er vedlagt på slutten av skiven.

Du kan også legge til en skive til en annen skive som vist:

my_slice: = [] streng
"Winnie",
"Rick",
"Anna",
"Elsa",
"Olaf",

Second_Slice: = [] String
"Emma",
"Matthew",

my_slice = vedlegg (my_slice, andre_slice ...)
fmt.Println ("skive:", my_slice)

Vi legger til en skive til en eksisterende skive ved hjelp av vedlegg () -metoden i eksemplet ovenfor.

Vær oppmerksom på "..." -operatøren i den andre skiven. Dette forteller kompilatoren at det andre argumentet skal utvides og hvert element sendes til vedleggsfunksjonen som individuelle komponenter. Dette er kjent som en variadisk parameter.

Den resulterende skiven som:

Skive: [Winnie Rick Anna Elsa Olaf Emma Matthew]

Gå iterert skive

Du kan bruke en for loop for å iterere over gjenstandene i en skive. Et eksempel er et vist nedenfor:

for indeks, element: = rekkevidde my_slice
fmt.Printf ("element ved indeks %d => %s \ n", indeks, element)

I eksemplet over bruker vi et område for loop for å iterere over hvert element i skiven. Vi bruker indeksen for å hente elementet som vist i utgangen nedenfor:

Element ved indeks 0 => Winnie
Element ved indeks 1 => Rick
Element ved indeks 2 => anna
Element ved indeks 3 => Elsa
Element ved indeks 4 => Olaf
Element ved indeks 5 => David
Element ved indeks 6 => Mary

Konklusjon

Denne guiden dekket det grunnleggende om å jobbe med skiver i Go -programmeringsspråket. Ved hjelp av skiver kan du introdusere fleksibiliteten til programmene dine.

Takk for at du leste!