Kas ir struktūras Golangā

Kas Ir Strukturas Golanga



Go valodā struktūra ir mainīgo (lauku) kolekcija, kas sagrupēta zem viena nosaukuma. Tas ir salikts datu tips, kas ļauj mums izveidot pielāgotas datu struktūras saistītās informācijas glabāšanai. Struktūras programmā Go ir kā klases objektorientētā programmēšanā, piemēram, C un C++, taču tās neatbalsta pārmantošanu. Tā vietā viņi paļaujas uz kompozīciju, lai panāktu koda atkārtotu izmantošanu. Šis raksts aptver Golangas struktūras un to, kā mēs varam deklarēt un piekļūt struktūras dalībniekiem.

Kas ir struktūra Golangā

Golangā struktūra ir salikts datu tips, kas sastāv no nulles vai vairākiem nosauktiem laukiem, no kuriem katram ir noteikts tips. Struktūras lauki var būt jebkura veida, ieskaitot citas struktūras, masīvus, funkcijas vai saskarnes.







Šeit ir Golangas struktūras piemērs:



veids Personas struktūra {
Pilna vārda virkne
GadiemVecs starpt
Atrašanās vieta Adrese
}
veids Adreses struktūra {
StreetName virkne
CityName    virkne
Valsts nosaukuma virkne
}


Šeit mēs esam definējuši Personas struktūru, kurā ir trīs lauki: pilns vārds, gadi un atrašanās vieta. Lauks Atrašanās vieta ir struktūra, kurā ir trīs lauki: ielas nosaukums, pilsētas nosaukums un valsts nosaukums.



Kā deklarēt struktūru Golangā

Mēs varam deklarēt struktūru Golangā, izmantojot veids atslēgvārds. Struktūras nosaukums tiek definēts pēc veids atslēgvārdu, un tā lauki ir ietverti krokainās iekavās { } . Šeit ir norādīta struktūras deklarēšanas sintakse Go:





veids StructName struktūra {
Lauka nosaukums1 Lauka veids1
Lauka nosaukums2 Lauka veids2
...
}


Tālāk ir sniegts piemērs, kā deklarēt struktūru ar nosaukumu Person ar diviem laukiem nosaukums un tipu string un int vecums:

veids Personas struktūra {
nosaukuma virkne
vecums starpt
}


Iepriekš minētajā kodā mēs esam izmantojuši veids atslēgvārds, lai deklarētu jaunu struktūru ar nosaukumu Persona ar diviem laukiem nosaukums tipa virkne un vecums tipa int. Lauki ir atdalīti ar a Jaunā rinda raksturs, bet a semikolu (;) var izmantot arī to atdalīšanai.



Kā piekļūt struktūras dalībniekam Golangā

Lai piekļūtu struktūras instances laukiem Go valodā punkts (.) tiek izmantots operators. Šim punkta operatoram seko lauka nosaukums. Tālāk ir sniegts piemērs, kā piekļūt personas struktūras instances nosaukuma un vecuma laukiem:

// Izveidojiet jaunu ` Persona ` struktūras instance ar nosaukumu 'kašs' un vecums 24
kash := Persona { nosaukums: 'kašs' , vecums: 24 }

// Piekļūstiet laukiem ` kash ` struktūras instance
fmt.Println ( kash.name ) // Izvade: 'kašs'
fmt.Println ( kash.age ) // Izvade: 24


Iepriekš minētajā kodā esam izveidojuši jaunu Personas struktūras gadījumu ar nosaukumu kash ar nosaukumu kash un vecums 24 . Pēc tam mēs piekļūstam kash struct instances nosaukuma un vecuma laukiem, izmantojot (.) operatoru un izdrukājiet tos konsolē.

Ir svarīgi ņemt vērā, ka struktūras instances laukiem var piekļūt, izmantojot punktu apzīmējumu, nevis bultiņa apzīmējums (->) izmanto dažās citās programmēšanas valodās. Punktu apzīmējums tiek konsekventi izmantots visā Go, lai piekļūtu struktūru laukiem, kā arī cita veida īpašībām un metodēm.

Struktūras dalībnieka deklarēšanas un piekļuves koda piemērs Golangā

Tālāk ir sniegts pilnīgs piemērs Personas struktūras deklarēšanai programmā Go un tās vērtību drukāšanai uz ekrāna:

galvenā pakete
imports 'fmt'
veids Personas struktūra {
nosaukuma virkne
vecums starpt
}
galvenā funkcija ( ) {
// Izveidojiet jaunu ` Persona ` struktūras instance ar nosaukumu 'kašs' un vecums 24
kash := Persona { nosaukums: 'kašs' , vecums: 24 }
// Izdrukājiet ` nosaukums ` un ` vecums ` no ` kash ` struct instance uz konsoli
fmt.Printf ( 'Vārds: %s \n ' , kash.name )
fmt.Printf ( 'Vecums: %d \n ' , kash.age )
}


Iepriekš rakstītajā kodā mēs vispirms deklarējām Persona struktūra. Šajā struktūrā ir divi lauki, kas ir vārds un vecums. Pēc tam mēs izveidojām jaunu Personas struktūras gadījumu ar nosaukumu kash ar nosaukumu kash un vecums 24 .

Lai parādītu vārda un vecuma laukus, mēs izmantojam fmt.Printf funkcija ar %s un %d formāta specifikācijas, lai drukātu attiecīgi vārda un vecuma laukus.

Pēc palaišanas konsolē tiek parādīts šāds kods:

Kā nodot struktūru kā funkcijas argumentus

Lai programmā Go nodotu struktūru kā funkcijas argumentu, mums vienkārši jānorāda struktūras tips kā parametra veids funkcijas parakstā un pēc tam, izsaucot funkciju, jānodod struktūras gadījums kā arguments.

Koda piemērs

Tālāk esošajā piemērā parādīts, kā personas struktūras gadījumu nodot funkcijai Go valodā kā argumentu un izdrukāt tās vērtības ekrānā:

galvenā pakete
imports 'fmt'
// Deklarējiet struktūru ar nosaukumu ` Persona ` ar diviem laukiem: ` nosaukums ` un ` vecums `
veids Personas struktūra {
nosaukuma virkne
vecums starpt
}
// Paziņot a funkciju nosaukts ` printPerson ` tas aizņem a ` Persona ` struktūra strīds
func printPerson ( p Persona ) {
fmt.Printf ( 'Vārds: %s \n ' , p.name )
fmt.Printf ( 'Vecums: %d \n ' , lappuse )
}
galvenā funkcija ( ) {
// Izveidojiet jaunu ` Persona ` struktūras instance ar nosaukumu 'kašs' un vecums 24
kash := Persona { nosaukums: 'kašs' , vecums: 24 }
// Paiet garām ` kash ` struct instance uz ` printPerson ` funkciju
printPerson ( kash )
}


Iepriekš minētajā kodā mēs vispirms deklarējām Personas struktūru ar diviem laukiem, vārds, un vecums . Pēc tam mēs deklarējam funkciju ar nosaukumu printPerson kas izmanto Personas struktūru kā argumentu un izdrukā tās nosaukuma un vecuma laukus ekrānā, izmantojot funkciju fmt.Printf.

Galvenajā funkcijā mēs izveidojām jaunu Personas struktūras gadījumu ar nosaukumu kash ar nosaukumu kash un vecums 24. Pēc tam mēs nododam kash struct gadījumu funkcijai printPerson, izsaucot funkciju printPerson un nododot kash kā arguments.

Pēc iepriekš minētā koda palaišanas konsolē var redzēt šādu izvadi:

Secinājums

Golangā struktūras var attēlot sarežģītus datu tipus un iekapsulēt saistītos datus. Struktūra ir datu tips, kas sastāv no viena vai vairākiem laukiem, kuriem katram ir piešķirts konkrēts nosaukums un veids. Struktūras lauki var būt jebkura veida, ieskaitot citas struktūras, masīvus, funkcijas vai saskarnes. Šajā rakstā detalizēti tika apskatītas Go struktūras. Plašāku informāciju par struktūras elementu deklarēšanu un piekļuvi tiem lasiet rakstā.