Što su strukture u Golangu

Sto Su Strukture U Golangu



U Go jeziku, struktura je skup varijabli (polja) grupiranih pod jednim imenom. To je kompozitni tip podataka koji nam omogućuje stvaranje prilagođenih struktura podataka za držanje povezanih informacija. Strukture u Go-u su poput klasa u objektno orijentiranom programiranju kao što su C i C++, ali ne podržavaju nasljeđivanje. Umjesto toga, oslanjaju se na kompoziciju kako bi postigli ponovnu upotrebu koda. Ovaj članak pokriva strukture u Golangu i kako možemo deklarirati članove strukture i pristupiti im.

Što je struktura u Golangu

U Golangu, struktura je složeni tip podataka koji se sastoji od nula ili više imenovanih polja, od kojih svako ima određeni tip. Polja strukture mogu biti bilo koje vrste, uključujući druge strukture, nizove, funkcije ili sučelja.







Evo primjera strukture u Golangu:



tip Struktura osobe {
Niz punog imena
YearsOld int
Adresa lokacije
}
tip Struktura adrese {
StreetName  string
CityName    string
CountryName niz
}


Ovdje smo definirali strukturu osobe koja ima tri polja: puno ime, godine starosti i mjesto. Polje Location samo je struktura koja ima tri polja: StreetName, CityName i CountryName.



Kako deklarirati Struct u Golangu

Možemo deklarirati strukturu u Golangu koristeći tip ključna riječ. Naziv strukture je definiran nakon tip ključna riječ, a njena polja su u vitičastim zagradama {} . Evo sintakse za deklariranje strukture u Gou:





tip StructName struct {
Naziv polja1 Tip polja1
Naziv polja2 Tip polja2
...
}


Ispod je primjer kako deklarirati strukturu pod imenom Person s dva polja name i age tipova string i int:

tip Struktura osobe {
niz imena
dob međ
}


U gornjem kodu koristili smo tip ključna riječ za deklariranje nove strukture pod nazivom Osoba sa dva polja Ime tipa niz i dob tipa int. Polja su odvojena a Nova linija lik ali a točka i zarez (;) također se može koristiti za njihovo odvajanje.



Kako pristupiti članu strukture u Golangu

Za pristup poljima instance strukture u jeziku Go točka (“.”) koristi se operator. Nakon ovog operatora točke slijedi naziv polja. Evo primjera kako pristupiti poljima imena i dobi instance strukture osobe:

// Stvorite novi ` Osoba ` instanca strukture s imenom 'kaš' i dobi 24
kash := Osoba { Ime: 'kaš' , dob: 24 }

// Pristupite poljima ` kasa ` instanca strukture
fmt.Println ( kash.ime ) // Izlaz: 'kaš'
fmt.Println ( kaš.starost ) // Izlaz: 24


U gornjem kodu stvorili smo novu instancu strukture osobe pod nazivom kash s imenom kasa i dobi 24 . Zatim pristupamo poljima imena i starosti instance kash struct koristeći (“.”) operatera i ispisati ih na konzolu.

Važno je napomenuti da se poljima instance strukture pristupa pomoću notacije s točkama, a ne strijela zapis (->) koristi u nekim drugim programskim jezicima. Oznaka točka dosljedno se koristi u Gou za pristup poljima struktura, kao i svojstvima i metodama drugih vrsta.

Primjer koda za deklariranje i pristup članu strukture u Golangu

Ispod je potpuni primjer deklariranja strukture Person u Go i ispisa njezinih vrijednosti na ekran:

glavni paket
uvoz 'fmt'
tip Struktura osobe {
niz imena
dob međ
}
funkcija glavna ( ) {
// Stvorite novi ` Osoba ` instanca strukture s imenom 'kaš' i dobi 24
kash := Osoba { Ime: 'kaš' , dob: 24 }
// Ispiši ` Ime ` i ` dob ` od ` kasa ` instancu strukture na konzolu
fmt.Printf ( 'Ime: %s \n ' , kash.name )
fmt.Printf ( 'Dob: %d \n ' , kash.doba )
}


U gore napisanom kodu, prvo smo proglasili Osoba strukturirati Ova struktura sadrži dva polja: ime i dob. Nakon toga, stvorili smo novu instancu strukture Person pod imenom kash s tim imenom kasa i dobi 24 .

Za prikaz polja imena i dobi koristimo fmt.Printf funkcija s %s i %d specifikatori formata za ispis polja imena i dobi.

Nakon pokretanja, na konzoli se pojavljuje sljedeći kod:

Kako prenijeti Struct kao argumente funkcije

Da bismo proslijedili strukturu kao argument funkcije u Gou, jednostavno moramo navesti vrstu strukture kao vrstu parametra u potpisu funkcije, a zatim proslijediti instancu strukture kao argument prilikom pozivanja funkcije.

Primjer koda

Primjer u nastavku pokazuje kako proslijediti instancu strukture osobe kao argument funkciji u jeziku Go i ispisati njezine vrijednosti na zaslon:

glavni paket
uvoz 'fmt'
// Deklarirajte strukturu pod nazivom ` Osoba ` sa dva polja: ` Ime ` i ` dob `
tip Struktura osobe {
niz imena
dob međ
}
// Izjaviti a funkcija imenovani ` printPerson ` koji traje a ` Osoba ` strukturirati kao rasprava
func printPerson ( p Osoba ) {
fmt.Printf ( 'Ime: %s \n ' , p.ime )
fmt.Printf ( 'Dob: %d \n ' , str.dob )
}
funkcija glavna ( ) {
// Stvorite novi ` Osoba ` instanca strukture s imenom 'kaš' i dobi 24
kash := Osoba { Ime: 'kaš' , dob: 24 }
// Dodaj ` kasa ` instanca strukture za ` printPerson ` funkcija
printPerson ( kasa )
}


U gornjem kodu, prvo smo deklarirali Person strukturu s dva polja, Ime, i dob . Zatim deklariramo funkciju nazvanu printPerson koja uzima strukturu osobe kao argument i ispisuje svoje ime i polja dobi na ekran pomoću funkcije fmt.Printf.

U glavnoj funkciji stvorili smo novu instancu strukture osobe pod nazivom kash s imenom kasa i 24 godine. Zatim prosljeđujemo instancu strukture kash funkciji printPerson pozivanjem funkcije printPerson i prosljeđivanjem kasa kao argument.

Nakon pokretanja gornjeg koda na konzoli se može vidjeti sljedeći izlaz:

Zaključak

U Golangu strukture mogu predstavljati složene tipove podataka i enkapsulirati povezane podatke. Struktura je tip podataka sastavljen od jednog ili više polja, od kojih svako ima određeni naziv i vrstu. Polja strukture mogu biti bilo koje vrste, uključujući druge strukture, nizove, funkcije ili sučelja. U ovom se članku detaljno raspravlja o Go strukturama, a za više informacija o deklariranju i pristupu strukturnim elementima pročitajte članak.