Kaj so strukture v Golangu

Kaj So Strukture V Golangu



V jeziku Go je struktura zbirka spremenljivk (polj), združenih pod enim imenom. To je sestavljen tip podatkov, ki nam omogoča ustvarjanje podatkovnih struktur po meri za shranjevanje povezanih informacij. Strukture v Go so kot razredi v objektno usmerjenem programiranju, kot sta C in C++, vendar ne podpirajo dedovanja. Namesto tega se zanašajo na sestavo, da dosežejo ponovno uporabo kode. Ta članek pokriva strukture v Golangu in kako lahko deklariramo člane strukture in dostopamo do njih.

Kaj je struktura v Golangu

V Golangu je struktura sestavljen tip podatkov, ki je sestavljen iz nič ali več poimenovanih polj, od katerih ima vsako specifično vrsto. Polja strukture so lahko katere koli vrste, vključno z drugimi strukturami, nizi, funkcijami ali vmesniki.







Tukaj je primer strukture v Golangu:



vrsto Struktura osebe {
Niz polnega imena
YearsOld int
Naslov lokacije
}
vrsto Struktura naslova {
Niz StreetName
CityName    niz
Niz CountryName
}


Tukaj smo definirali strukturo osebe, ki ima tri polja: Polno ime, Leto in Lokacija. Polje Location je struktura, ki ima tri polja: StreetName, CityName in CountryName.



Kako deklarirati Struct v Golangu

V Golangu lahko deklariramo strukturo z uporabo vrsto ključna beseda. Ime strukture je definirano za vrsto ključna beseda, njena polja pa so v zavitih oklepajih {} . Tukaj je sintaksa za deklaracijo strukture v Go:





vrsto StructName struct {
Ime polja1 Vrsta polja1
Ime polja2 Vrsta polja2
...
}


Spodaj je primer, kako deklarirati strukturo z imenom Person z dvema poljema name in starost tipov string oziroma int:

vrsto Struktura osebe {
imenski niz
starost int
}


V zgornji kodi smo uporabili vrsto ključna beseda za deklaracijo nove strukture z imenom Oseba z dvema poljema ime vrste niz in starost tipa int. Polja so ločena z a Nova vrstica značaj pa a podpičje (;) lahko uporabite tudi za njihovo ločevanje.



Kako dostopati do člana strukture v Golangu

Za dostop do polj instance strukture v jeziku Go pika ('.') uporablja se operater. Temu operatorju s piko sledi ime polja. Tukaj je primer, kako dostopati do polj z imenom in starostjo primerka strukture Person:

// Ustvari novo ` Oseba ` primerek strukture z imenom 'kaš' in starost 24
kash := Oseba { ime: 'kaš' , starost: 24 }

// Dostopajte do polj ` gotovina ` primerek strukture
fmt.Println ( kash.name ) // Izhod: 'kaš'
fmt.Println ( kash.age ) // Izhod: 24


V zgornji kodi smo ustvarili nov primerek strukture osebe z imenom kash z imenom gotovina in starost 24 . Nato dostopamo do polj z imenom in starostjo instance kash struct z uporabo (“.”) operaterja in jih natisnete na konzolo.

Pomembno je omeniti, da se do polj instance strukture dostopa z uporabo zapisa s pikami in ne z puščica zapis (->) uporabljajo v nekaterih drugih programskih jezikih. Zapis s pikami se dosledno uporablja v Go za dostop do polj struktur ter lastnosti in metod drugih vrst.

Primer kode za razglasitev in dostop do člana strukture v Golangu

Spodaj je popoln primer deklaracije strukture Person v Go in tiskanja njenih vrednosti na zaslon:

glavni paket
uvoz 'fmt'
vrsto Struktura osebe {
imenski niz
starost int
}
glavna funkcija ( ) {
// Ustvari novo ` Oseba ` primerek strukture z imenom 'kaš' in starost 24
kash := Oseba { ime: 'kaš' , starost: 24 }
// Natisnite ` ime ` in ` starost ` od ` gotovina ` primerek strukture na konzolo
fmt.Printf ( 'Ime: %s \n ' , kash.name )
fmt.Printf ( 'Starost: %d \n ' , kash.age )
}


V zgoraj napisani kodi smo najprej deklarirali Oseba struct. Ta struktura vsebuje dve polji, in sicer ime in starost. Po tem smo ustvarili nov primerek strukture Person z imenom kash z imenom gotovina in starost 24 .

Za prikaz polj z imenom in starostjo uporabljamo fmt.Printf funkcijo z %s in %d določitelje formata za tiskanje polj z imenom in starostjo.

Po zagonu se na konzoli prikaže naslednja koda:

Kako posredovati strukturo kot argumente funkcije

Če želite posredovati strukturo kot funkcijski argument v Go, moramo preprosto podati tip strukture kot tip parametra v podpisu funkcije in nato posredovati primerek strukture kot argument pri klicu funkcije.

Primer kode

Spodnji primer prikazuje, kako posredovati primerek strukture Person kot argument funkciji v jeziku Go in natisniti njene vrednosti na zaslon:

glavni paket
uvoz 'fmt'
// Deklarirajte imenovano strukturo ` Oseba ` z dvema poljema: ` ime ` in ` starost `
vrsto Struktura osebe {
imenski niz
starost int
}
// Razglasi a funkcijo imenovan ` printPerson ` ki traja a ` Oseba ` struct kot prepir
func printPerson ( p Oseba ) {
fmt.Printf ( 'Ime: %s \n ' , p.ime )
fmt.Printf ( 'Starost: %d \n ' , str )
}
glavna funkcija ( ) {
// Ustvari novo ` Oseba ` primerek strukture z imenom 'kaš' in starost 24
kash := Oseba { ime: 'kaš' , starost: 24 }
// Predaj ` gotovina ` primerek struct za ` printPerson ` funkcijo
printPerson ( gotovina )
}


V zgornji kodi smo najprej deklarirali strukturo Person z dvema poljema, ime, in starost . Nato deklariramo funkcijo z imenom printPerson ki sprejme strukturo osebe kot argument in natisne njeno ime in starost na zaslon s funkcijo fmt.Printf.

V glavni funkciji smo ustvarili nov primerek strukture Person z imenom kash z imenom gotovina in 24 let. Nato posredujemo instanco kash struct funkciji printPerson tako, da pokličemo funkcijo printPerson in posredujemo gotovina kot argument.

Po zagonu zgornje kode je na konzoli viden naslednji rezultat:

Zaključek

V Golangu lahko strukture predstavljajo zapletene podatkovne tipe in enkapsulirajo povezane podatke. Struktura je tip podatkov, sestavljen iz enega ali več polj, od katerih ima vsako določeno ime in vrsto. Polja strukture so lahko katere koli vrste, vključno z drugimi strukturami, nizi, funkcijami ali vmesniki. Ta članek je podrobno obravnaval strukture Go, za več informacij o deklariranju in dostopu do elementov struct preberite članek.