Kas yra Golango struktūros

Kas Yra Golango Strukturos



Go kalboje struktūra yra kintamųjų (laukų), sugrupuotų po vienu pavadinimu, rinkinys. Tai sudėtinis duomenų tipas, leidžiantis sukurti pasirinktines duomenų struktūras susijusiai informacijai laikyti. „Go“ struktūros yra kaip objektinio programavimo, pvz., C ir C++, klasės, tačiau jos nepalaiko paveldėjimo. Vietoj to, norėdami pakartotinai panaudoti kodą, jie pasikliauja kompozicija. Šiame straipsnyje aprašomos Golango struktūros ir kaip galime deklaruoti ir pasiekti struktūros narius.

Kas yra Golango struktūra

Golango kalba struktūra yra sudėtinis duomenų tipas, kurį sudaro nulis arba daugiau pavadintų laukų, kurių kiekvienas turi tam tikrą tipą. Struktūros laukai gali būti bet kokio tipo, įskaitant kitas struktūras, matricas, funkcijas ar sąsajas.







Štai Golango struktūros pavyzdys:



tipo Asmens struktūra {
FullName eilutė
Metų senumo tarpt
Vietovė Adresas
}
tipo Adreso struktūra {
StreetName eilutė
CityName    eilutė
Šalies pavadinimo eilutė
}


Čia apibrėžėme asmens struktūrą, kurią sudaro trys laukai: Visas vardas, Metai ir Vieta. Laukas Vietovė yra struktūra, kurią sudaro trys laukai: gatvės pavadinimas, miesto pavadinimas ir šalies pavadinimas.



Kaip paskelbti struktūrą Golange

Mes galime deklaruoti struktūrą Golange naudodami tipo raktažodį. Struktūros pavadinimas apibrėžiamas po tipo raktažodį, o jo laukai įterpti į riestinius skliaustus { } . Štai „Go“ struktūros deklaravimo sintaksė:





tipo Struktūros pavadinimas struktūra {
1 lauko pavadinimas 1 lauko tipas
2 lauko pavadinimas 2 lauko tipas
...
}


Žemiau pateikiamas pavyzdys, kaip deklaruoti struktūrą pavadinimu Asmuo su dviem laukais name ir atitinkamai tipo string ir int amžius:

tipo Asmens struktūra {
pavadinimo eilutė
amžiaus tarpt
}


Aukščiau pateiktame kode mes panaudojome tipo raktinis žodis, skirtas paskelbti naujai pavadintai struktūrai Asmuo su dviem laukais vardas tipo eilutė ir amžiaus tipo int. Laukus skiria a Nauja linija charakteris, bet a kabliataškis (;) taip pat gali būti naudojamas joms atskirti.



Kaip pasiekti struktūros narį Golange

Norėdami pasiekti struktūros egzemplioriaus laukus Go kalba taškas („.“) naudojamas operatorius. Po šio taško operatorius yra lauko pavadinimas. Štai pavyzdys, kaip pasiekti asmens struktūros egzemplioriaus vardo ir amžiaus laukus:

// Sukurti naują ` Asmuo ` struktūros egzempliorius su pavadinimu 'kash' ir amžius 24
kash := Asmuo { vardas: 'kash' , amžius: 24 }

// Pasiekite laukus ` kash ` struktūros pavyzdys
fmt.Println ( kash.name ) // Išvestis: 'kash'
fmt.Println ( kash.amžius ) // Išvestis: 24


Aukščiau pateiktame kode sukūrėme naują asmens struktūros egzempliorių, pavadintą kash su pavadinimu kash ir amžius 24 . Tada pasiekiame kash struct egzemplioriaus pavadinimo ir amžiaus laukus naudodami (.) operatorių ir atsispausdinkite juos į konsolę.

Svarbu pažymėti, kad struktūros egzemplioriaus laukai pasiekiami naudojant taško žymėjimą, o ne rodyklė užrašas (->) naudojamas kai kuriose kitose programavimo kalbose. Taškų žymėjimas nuosekliai naudojamas „Go“, norint pasiekti struktūrų laukus, taip pat kitų tipų savybes ir metodus.

Golango struktūros nario deklaravimo ir prieigos kodo pavyzdys

Žemiau pateikiamas išsamus asmens struktūros deklaravimo Go ir jos verčių spausdinimo ekrane pavyzdys:

pagrindinis paketas
importuoti 'fmt'
tipo Asmens struktūra {
pavadinimo eilutė
amžiaus tarpt
}
pagrindinė funkcija ( ) {
// Sukurti naują ` Asmuo ` struktūros egzempliorius su pavadinimu 'kash' ir amžius 24
kash := Asmuo { vardas: 'kash' , amžius: 24 }
// Spausdinkite ` vardas ` ir ` amžiaus ` apie ` kash ` struct egzempliorių į konsolę
fmt.Printf ( 'Vardas: %s \n , kash.name )
fmt.Printf ( 'Amžius: %d \n , kash.age )
}


Aukščiau parašytame kode pirmiausia paskelbėme Asmuo struktūra. Šioje struktūroje yra du laukai: vardas ir amžius. Po to sukūrėme naują asmens struktūros egzempliorių, pavadintą kash su pavadinimu kash ir amžius 24 .

Norėdami rodyti vardo ir amžiaus laukus, naudojame fmt.Printf funkcija su %s ir %d formato specifikacijos, kad būtų atspausdinti atitinkamai vardo ir amžiaus laukai.

Paleidus, konsolėje pasirodo toks kodas:

Kaip perduoti struktūrą kaip funkcijos argumentus

Norėdami perduoti struktūrą kaip funkcijos argumentą Go, tiesiog turime nurodyti struct tipą kaip parametro tipą funkcijos paraše, o tada perduoti struktūros egzempliorių kaip argumentą, kai iškviečiame funkciją.

Kodo pavyzdys

Toliau pateiktame pavyzdyje parodyta, kaip perduoti asmens struktūros egzempliorių kaip argumentą funkcijai Go kalba ir išspausdinti jo reikšmes ekrane:

pagrindinis paketas
importuoti 'fmt'
// Paskelbkite konstrukciją pavadinimu ` Asmuo ` su dviem laukais: ` vardas ` ir ` amžiaus `
tipo Asmens struktūra {
pavadinimo eilutė
amžiaus tarpt
}
// Paskelbti a funkcija pavadintas ` printPerson ` tam reikia a ` Asmuo ` struktūra kaip argumentas
func printPerson ( p Asmuo ) {
fmt.Printf ( 'Vardas: %s \n , p.vardas )
fmt.Printf ( 'Amžius: %d \n , psl )
}
pagrindinė funkcija ( ) {
// Sukurti naują ` Asmuo ` struktūros egzempliorius su pavadinimu 'kash' ir amžius 24
kash := Asmuo { vardas: 'kash' , amžius: 24 }
// Praleiskite ` kash ` struktūros pavyzdį į ` printPerson ` funkcija
printPerson ( kash )
}


Aukščiau pateiktame kode pirmiausia paskelbėme asmens struktūrą su dviem laukais, vardas, ir amžiaus . Tada paskelbiame funkciją pavadintą printPerson kuri naudoja asmens struktūrą kaip argumentą ir atspausdina jos pavadinimo bei amžiaus laukus ekrane, naudodama funkciją fmt.Printf.

Pagrindinėje funkcijoje sukūrėme naują asmens struktūros egzempliorių, pavadintą kash su pavadinimu kash ir amžius 24. Tada perduodame kash struct egzempliorių funkcijai printPerson, iškviesdami funkciją printPerson ir perduodame kash kaip argumentas.

Paleidus aukščiau pateiktą kodą, konsolėje galima pamatyti šią išvestį:

Išvada

„Golang“ struktūros gali atstovauti sudėtingiems duomenų tipams ir apimti susijusius duomenis. Struktūra yra duomenų tipas, sudarytas iš vieno ar daugiau laukų, kurių kiekvienam suteikiamas konkretus pavadinimas ir tipas. Struktūros laukai gali būti bet kokio tipo, įskaitant kitas struktūras, matricas, funkcijas ar sąsajas. Šiame straipsnyje išsamiai aptariamos „Go“ struktūros. Norėdami gauti daugiau informacijos apie struktūros elementų deklaravimą ir prieigą prie jų, skaitykite straipsnį.