Čo sú štruktúry v Golangu

Co Su Struktury V Golangu



V jazyku Go je štruktúra kolekciou premenných (polí) zoskupených pod jedným názvom. Ide o zložený dátový typ, ktorý nám umožňuje vytvárať vlastné dátové štruktúry na uchovávanie súvisiacich informácií. Štruktúry v Go sú ako triedy v objektovo orientovanom programovaní ako C a C++, ale nepodporujú dedičnosť. Namiesto toho sa spoliehajú na zloženie, aby dosiahli opätovné použitie kódu. Tento článok sa zaoberá štruktúrami v Golang a ako môžeme deklarovať a pristupovať k členom struct.

Čo je to štruktúra v Golangu

V Golangu je štruktúra zložený dátový typ, ktorý pozostáva z nula alebo viacerých pomenovaných polí, z ktorých každé má špecifický typ. Polia štruktúry môžu byť akéhokoľvek typu, vrátane iných štruktúr, polí, funkcií alebo rozhraní.







Tu je príklad štruktúry v Golang:



typu Štruktúra osoby {
Reťazec FullName
YearsStarý int
Adresa miesta
}
typu Štruktúra adresy {
Reťazec StreetName
CityName    reťazec
Reťazec názvu krajiny
}


Tu sme definovali štruktúru osoby, ktorá má tri polia: Celé meno, Roky a Miesto. Pole Location je samo osebe štruktúrou, ktorá má tri polia: StreetName, CityName a CountryName.



Ako deklarovať štruktúru v Golangu

Môžeme deklarovať štruktúru v Golang pomocou typu kľúčové slovo. Názov štruktúry je definovaný za typu kľúčové slovo a jeho polia sú uzavreté v zložených zátvorkách { } . Tu je syntax na deklarovanie štruktúry v Go:





typu StructName štruktúra {
Názov poľa1 Typ poľa1
Názov poľa2 Typ poľa2
...
}


Nižšie je uvedený príklad, ako deklarovať štruktúru s názvom Osoba s dvoma poľami názov a vek typov string a int:

typu Štruktúra osoby {
reťazec mena
vek int
}


Vo vyššie uvedenom kóde sme použili typu kľúčové slovo na deklarovanie novej štruktúry s názvom Osoba s dvoma poliami názov typu reťazec a Vek typu int. Polia sú oddelené a Nový riadok charakter ale a bodkočiarka (;) možno použiť aj na ich oddelenie.



Ako získať prístup k členom Struct v Golang

Na prístup k poliam inštancie štruktúry v jazyku Go bodka (.“) používa sa operátor. Za týmto bodkovým operátorom nasleduje názov poľa. Tu je príklad, ako získať prístup k poliam mena a veku inštancie štruktúry osoby:

// Vytvorte nový ` Osoba ` inštancia štruktúry s názvom 'kash' a veku 24
kash := Osoba { názov: 'kash' , Vek: 24 }

// Prístup k poliam ` kash ` inštancia štruktúry
fmt.Println ( kash.name ) // Výkon: 'kash'
fmt.Println ( kash.vek ) // Výkon: 24


Vo vyššie uvedenom kóde sme vytvorili novú inštanciu štruktúry osoby s názvom kash s názvom kash a veku 24 . Potom získame prístup k poliam názvu a veku inštancie štruktúry kash pomocou (.“) operátora a vytlačte ich do konzoly.

Je dôležité poznamenať, že k poliam inštancie štruktúry sa pristupuje pomocou bodkovej notácie a nie pomocou šípka zápis (->) používané v niektorých iných programovacích jazykoch. Bodková notácia sa používa konzistentne v rámci Go na prístup k poliam štruktúr, ako aj k vlastnostiam a metódam iných typov.

Príklad kódexu deklarovania a prístupu k členovi štruktúry v Golang

Nižšie je uvedený úplný príklad deklarovania štruktúry Osoba v programe Go a vytlačenia jej hodnôt na obrazovku:

hlavný balík
importovať 'fmt'
typu Štruktúra osoby {
reťazec mena
vek int
}
func main ( ) {
// Vytvorte nový ` Osoba ` inštancia štruktúry s názvom 'kash' a veku 24
kash := Osoba { názov: 'kash' , Vek: 24 }
// Vytlačte si ` názov ` a ` Vek ` z ` kash ` struct inštancie do konzoly
fmt.Printf ( 'Meno: %s \n ' , kash.name )
fmt.Printf ( 'Vek: %d.' \n ' , kash.age )
}


Vo vyššie napísanom kóde sme najskôr deklarovali Osoba štrukturovať. Táto štruktúra obsahuje dve polia, ktorými sú meno a vek. Potom sme vytvorili novú inštanciu štruktúry osoby s názvom kash s názvom kash a veku 24 .

Na zobrazenie polí mena a veku používame fmt.Printf funkcia s %s a %d špecifikátory formátu na tlač polí mena a veku.

Po spustení sa na konzole zobrazí nasledujúci výstup kódu:

Ako odovzdať štruktúru ako argument funkcie

Ak chcete odovzdať štruktúru ako argument funkcie v Go, musíme jednoducho zadať typ štruktúry ako typ parametra v podpise funkcie a potom pri volaní funkcie odovzdať inštanciu štruktúry ako argument.

Príklad kódu

Nasledujúci príklad ukazuje, ako odovzdať inštanciu štruktúry osoby ako argument funkcii v jazyku Go a vytlačiť jej hodnoty na obrazovku:

hlavný balík
importovať 'fmt'
// Deklarujte štruktúru s názvom ` Osoba ` s dvoma poliami: ` názov ` a ` Vek `
typu Štruktúra osoby {
reťazec mena
vek int
}
// Vyhlásiť a funkciu pomenovaný ` printPerson ` to trvá a ` Osoba ` štrukturovať ako hádka
func printPerson ( p Osoba ) {
fmt.Printf ( 'Meno: %s \n ' , p.meno )
fmt.Printf ( 'Vek: %d.' \n ' , str )
}
func main ( ) {
// Vytvorte nový ` Osoba ` inštancia štruktúry s názvom 'kash' a veku 24
kash := Osoba { názov: 'kash' , Vek: 24 }
// Prejdite ` kash ` struct inštancia na ` printPerson ` funkciu
printPerson ( kash )
}


Vo vyššie uvedenom kóde sme najprv deklarovali štruktúru Osoba s dvoma poľami, názov, a Vek . Potom deklarujeme funkciu s názvom printPerson ktorý berie štruktúru Osoba ako argument a vytlačí jej polia mena a veku na obrazovku pomocou funkcie fmt.Printf.

V hlavnej funkcii sme vytvorili novú inštanciu štruktúry Person s názvom kash s názvom kash a vek 24. Inštanciu kash struct potom odovzdáme do funkcie printPerson zavolaním funkcie printPerson a odovzdaním kash ako argument.

Po spustení vyššie uvedeného kódu môžete na konzole vidieť nasledujúci výstup:

Záver

V Golangu môžu štruktúry reprezentovať komplexné dátové typy a zapuzdrovať súvisiace dáta. Štruktúra je dátový typ zložený z jedného alebo viacerých polí, z ktorých každé má špecifický názov a typ. Polia štruktúry môžu byť akéhokoľvek typu, vrátane iných štruktúr, polí, funkcií alebo rozhraní. Tento článok podrobne diskutoval o štruktúrach Go, ďalšie informácie o deklarovaní prvkov struct a prístupe k nim nájdete v článku.