Pekere er nyttige da de lar oss lagre minnet om en adresse der dataene som holdes av en variabel lagres. Ved hjelp av pekere bestemmer vi verdien som er lagret av variabelen på den minneadressen.
I denne nybegynnervennlige artikkelen vil vi diskutere hvordan vi kommer i gang med pekere i Go -programmeringsspråket.
Golang erklærer variabel
Vi erklærer en peker den samme som vi erklærer en normal variabel. Imidlertid bruker vi derferensoperatøren for å vise at variabelen holder en peker.
Før du erklærer en variabel, er det to operatører vi trenger å være kjent med:
Syntaksen nedenfor viser hvordan du erklærer en pekervariabel:
var pointer_name *data_typeFor eksempel er koden nedenfor erklærer en pekervariabel "PTR" som holder adressen til int -typer.
var ptr *intGolang initialiserer pekeren
Vi kan initialisere en peker ved å tildele minneadressen til en variabel ved hjelp av adresseoperatøren, vist ovenfor.
Et eksempel er som vist:
pakkehovedI eksemplet over starter vi med å erklære en variabel som holder en heltallverdi. Vi oppretter deretter en peker som holder minneadressen til variabelen.
Når vi har skrevet ut adressen, bør vi få et eksempelutgang som vist:
$ go run peker.gåVi kan også erklære en variabel og angi verdien senere i koden. Et eksempel er som vist:
pakkehovedHer erklærer vi pekeren og setter senere verdien ved å bruke adresseoperatøren.
Golang Nil Pointer
Hvis du erklærer en peker og ikke tildeler en verdi, har pekeren en null verdi. For eksempel:
pakkehovedKoden over returnerer null.
Pekertype
I vårt eksempel erklærte vi typen peker. Dette betyr at pekeren bare kan holde minnet adressert av den spesifiserte datatypen.
Hvis du prøver å lagre adressen til en annen type, returnerer kompilatoren en feil som vist i eksemplet nedenfor:
pakkehovedI eksemplet over erklærer vi en variabel med type int. Vi tildeler imidlertid en adresse på en strengtype.
Kompilatoren returnerer en feil som:
.\ peker.GO: 11: 6: Kan ikke bruke & str (type *streng) som type *int i oppgavenFor å unngå dette, kan du bruke peker bokstavelig erklæringsmåte. For eksempel kan vi gjøre:
pakkehovedEksemplet ovenfor lar kompilatoren bestemme hvilken type adresse som skal holdes i den spesifiserte pekeren.
Golang Pointer Dereference
For å få tilgang til verdien som er lagret på en bestemt adresse, kan vi bruke Dereferencing Operator. Et eksempelkode er som vist:
pakkehovedOvennevnte kode bruker derferensoperatøren for å få verdien lagret på adressen som er holdt av pekeren “PTR”
Den resulterende utgangen er som:
x: 100Konklusjon
Denne guiden leder deg gjennom det grunnleggende om å jobbe med pekere i Go. Ved hjelp av pekere kan du få tilgang til og lagre minneadressen til en variabel. Du kan også bruke pekeren for å få tilgang til variabelen som er lagret på en bestemt minneadresse.
Takk for at du leste!