గో భాషలో, నిర్మాణం అనేది ఒకే పేరుతో సమూహం చేయబడిన వేరియబుల్స్ (ఫీల్డ్లు) సమాహారం. ఇది సంబంధిత సమాచారాన్ని ఉంచడానికి అనుకూల డేటా నిర్మాణాలను సృష్టించడానికి మమ్మల్ని అనుమతించే మిశ్రమ డేటా రకం. Goలోని నిర్మాణాలు C, మరియు C++ వంటి ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్లోని క్లాస్ల వలె ఉంటాయి, కానీ అవి వారసత్వానికి మద్దతు ఇవ్వవు. బదులుగా, వారు కోడ్ పునర్వినియోగాన్ని సాధించడానికి కూర్పుపై ఆధారపడతారు. ఈ కథనం గోలాంగ్లోని నిర్మాణాలను మరియు మేము struct సభ్యులను ఎలా ప్రకటించవచ్చు మరియు యాక్సెస్ చేయవచ్చు.
గోలాంగ్లో నిర్మాణం అంటే ఏమిటి
గోలాంగ్లో, నిర్మాణం అనేది సున్నా లేదా అంతకంటే ఎక్కువ పేరున్న ఫీల్డ్లను కలిగి ఉండే మిశ్రమ డేటా రకం, వీటిలో ప్రతి ఒక్కటి నిర్దిష్ట రకాన్ని కలిగి ఉంటాయి. నిర్మాణం యొక్క ఫీల్డ్లు ఇతర నిర్మాణాలు, శ్రేణులు, ఫంక్షన్లు లేదా ఇంటర్ఫేస్లతో సహా ఏదైనా రకంగా ఉండవచ్చు.
ఇక్కడ గోలాంగ్లోని ఒక నిర్మాణానికి ఉదాహరణ:
రకం వ్యక్తి నిర్మాణం {
పూర్తి పేరు స్ట్రింగ్
సంవత్సరాల నాటి పూర్ణాంకం
స్థాన చిరునామా
}
రకం చిరునామా నిర్మాణం {
స్ట్రీట్ నేమ్ స్ట్రింగ్
CityName స్ట్రింగ్
దేశం పేరు స్ట్రింగ్
}
ఇక్కడ మేము మూడు ఫీల్డ్లను కలిగి ఉన్న వ్యక్తి నిర్మాణాన్ని నిర్వచించాము: పూర్తి పేరు, సంవత్సరాల వయస్సు మరియు స్థానం. లొకేషన్ ఫీల్డ్ అనేది స్ట్రీట్ నేమ్, సిటీ నేమ్ మరియు కంట్రీ నేమ్ అనే మూడు ఫీల్డ్లను కలిగి ఉన్న నిర్మాణం.
గోలాంగ్లో నిర్మాణాన్ని ఎలా ప్రకటించాలి
మేము ఉపయోగించి గోలాంగ్లో ఒక స్ట్రక్టును ప్రకటించవచ్చు రకం కీవర్డ్. నిర్మాణం యొక్క పేరు తర్వాత నిర్వచించబడింది రకం కీవర్డ్ మరియు దాని ఫీల్డ్లు కర్లీ బ్రేస్లలో జతచేయబడి ఉంటాయి {} . గోలో నిర్మాణాన్ని ప్రకటించడానికి సింటాక్స్ ఇక్కడ ఉంది:
రకం StructName struct {
ఫీల్డ్ నేమ్1 ఫీల్డ్ టైప్1
ఫీల్డ్ నేమ్2 ఫీల్డ్ టైప్2
...
}
స్ట్రింగ్ మరియు పూర్ణాంక రకాలుగా రెండు ఫీల్డ్ల పేరు మరియు వయస్సు గల వ్యక్తి అనే పేరుతో ఒక నిర్మాణాన్ని ఎలా ప్రకటించాలి అనేదానికి దిగువ ఉదాహరణ:
పేరు స్ట్రింగ్
వయస్సు పూర్తి
}
పై కోడ్లో, మేము ఉపయోగించాము రకం పేరు పెట్టబడిన కొత్త నిర్మాణాన్ని ప్రకటించడానికి కీవర్డ్ వ్యక్తి రెండు క్షేత్రాలతో పేరు రకం స్ట్రింగ్ మరియు వయస్సు రకం int. క్షేత్రాలు a ద్వారా వేరు చేయబడ్డాయి కొత్త వాక్యం పాత్ర కానీ ఎ సెమికోలన్ (;) వాటిని వేరు చేయడానికి కూడా ఉపయోగించవచ్చు.
గోలాంగ్లో స్ట్రక్ట్ మెంబర్ని ఎలా యాక్సెస్ చేయాలి
గో భాషలో స్ట్రక్ట్ ఇన్స్టాన్స్ ఫీల్డ్లను యాక్సెస్ చేయడానికి చుక్క ('.') ఆపరేటర్ ఉపయోగించబడుతుంది. ఈ డాట్ ఆపరేటర్ తర్వాత ఫీల్డ్ నేమ్ ఉంటుంది. వ్యక్తి నిర్మాణ ఉదాహరణ యొక్క పేరు మరియు వయస్సు ఫీల్డ్లను ఎలా యాక్సెస్ చేయాలో ఇక్కడ ఒక ఉదాహరణ ఉంది:
// కొత్తదాన్ని సృష్టించండి ` వ్యక్తి ` పేరుతో నిర్మాణ ఉదాహరణ 'కష్' మరియు వయస్సు 24kash := వ్యక్తి { పేరు: 'కష్' , వయస్సు: 24 }
// యొక్క ఫీల్డ్లను యాక్సెస్ చేయండి ` కాష్ ` నిర్మాణ ఉదాహరణ
fmt.Println ( kash.పేరు ) // అవుట్పుట్: 'కష్'
fmt.Println ( కష్.వయస్సు ) // అవుట్పుట్: 24
పై కోడ్లో, మేము కాష్ పేరుతో కొత్త వ్యక్తి నిర్మాణ ఉదాహరణను సృష్టించాము కాష్ మరియు వయస్సు 24 . మేము అప్పుడు kash struct ఉదాహరణ యొక్క పేరు మరియు వయస్సు ఫీల్డ్లను ఉపయోగించి యాక్సెస్ చేస్తాము ('') ఆపరేటర్ మరియు వాటిని కన్సోల్కు ప్రింట్ చేయండి.
స్ట్రక్ట్ ఇన్స్టాన్స్ ఫీల్డ్లు డాట్ సంజ్ఞామానాన్ని ఉపయోగించి యాక్సెస్ చేయబడతాయని గమనించడం ముఖ్యం. బాణం సంజ్ఞామానం (->) కొన్ని ఇతర ప్రోగ్రామింగ్ భాషలలో ఉపయోగించబడుతుంది. స్ట్రక్టుల ఫీల్డ్లను, అలాగే ఇతర రకాల లక్షణాలు మరియు పద్ధతులను యాక్సెస్ చేయడానికి గో అంతటా డాట్ సంజ్ఞామానం స్థిరంగా ఉపయోగించబడుతుంది.
గోలాంగ్లో స్ట్రక్ట్ మెంబర్ని ప్రకటించడం మరియు యాక్సెస్ చేయడం యొక్క ఉదాహరణ కోడ్
గోలో వ్యక్తి నిర్మాణాన్ని ప్రకటించడం మరియు దాని విలువలను స్క్రీన్పై ముద్రించడం యొక్క పూర్తి ఉదాహరణ క్రింద ఉంది:
ప్యాకేజీ ప్రధానదిగుమతి 'fmt'
రకం వ్యక్తి నిర్మాణం {
పేరు స్ట్రింగ్
వయస్సు పూర్తి
}
ఫంక్ మెయిన్ ( ) {
// కొత్తదాన్ని సృష్టించండి ` వ్యక్తి ` పేరుతో నిర్మాణ ఉదాహరణ 'కష్' మరియు వయస్సు 24
kash := వ్యక్తి { పేరు: 'కష్' , వయస్సు: 24 }
// ముద్రించండి ` పేరు ` మరియు ` వయస్సు ` యొక్క ` కాష్ ` కన్సోల్కు నిర్మాణ ఉదాహరణ
fmt.Printf ( 'పేరు: %s \n ' , kash.name )
fmt.Printf ( 'వయస్సు: %d \n ' , kash.age )
}
పైన వ్రాసిన కోడ్లో, మేము ముందుగా ప్రకటించాము వ్యక్తి నిర్మాణం. ఈ నిర్మాణంలో పేరు మరియు వయస్సు అనే రెండు ఫీల్డ్లు ఉన్నాయి. ఆ తర్వాత, మేము కాష్ పేరుతో కొత్త వ్యక్తి నిర్మాణ ఉదాహరణను సృష్టించాము కాష్ మరియు వయస్సు 24 .
పేరు మరియు వయస్సు ఫీల్డ్లను ప్రదర్శించడానికి, మేము దీనిని ఉపయోగిస్తాము fmt.Printf తో ఫంక్షన్ %s మరియు %d పేరు మరియు వయస్సు ఫీల్డ్లను వరుసగా ప్రింట్ చేయడానికి స్పెసిఫైయర్లను ఫార్మాట్ చేయండి.
అమలు చేసిన తర్వాత, కన్సోల్లో క్రింది అవుట్పుట్ కోడ్ కనిపిస్తుంది:
స్ట్రక్టును ఫంక్షన్ ఆర్గ్యుమెంట్లుగా ఎలా పాస్ చేయాలి
Goలో ఒక structని ఫంక్షన్ ఆర్గ్యుమెంట్గా పాస్ చేయడానికి, మేము ఫంక్షన్ సిగ్నేచర్లో struct రకాన్ని పారామీటర్ రకంగా పేర్కొనాలి, ఆపై ఫంక్షన్కు కాల్ చేస్తున్నప్పుడు struct ఉదాహరణను ఆర్గ్యుమెంట్గా పాస్ చేయాలి.
ఉదాహరణ కోడ్
గో భాషలో ఫంక్షన్కి పర్సన్ స్ట్రక్ట్ ఇన్స్టాన్స్ను ఆర్గ్యుమెంట్గా ఎలా పాస్ చేయాలో మరియు దాని విలువలను స్క్రీన్పై ఎలా ప్రింట్ చేయాలో దిగువ ఉదాహరణ చూపిస్తుంది:
ప్యాకేజీ ప్రధానదిగుమతి 'fmt'
// అనే నిర్మాణాన్ని ప్రకటించండి ` వ్యక్తి ` రెండు ఫీల్డ్లతో: ` పేరు ` మరియు ` వయస్సు `
రకం వ్యక్తి నిర్మాణం {
పేరు స్ట్రింగ్
వయస్సు పూర్తి
}
// ప్రకటించండి a ఫంక్షన్ అనే ` ప్రింట్ పర్సన్ ` ఒక పడుతుంది ` వ్యక్తి ` నిర్మాణం వంటి ఒక వాదన
ఫంక్ ప్రింట్ పర్సన్ ( p వ్యక్తి ) {
fmt.Printf ( 'పేరు: %s \n ' , p.name )
fmt.Printf ( 'వయస్సు: %d \n ' , పేజీ )
}
ఫంక్ మెయిన్ ( ) {
// కొత్తదాన్ని సృష్టించండి ` వ్యక్తి ` పేరుతో నిర్మాణ ఉదాహరణ 'కష్' మరియు వయస్సు 24
kash := వ్యక్తి { పేరు: 'కష్' , వయస్సు: 24 }
// పాస్ ది ` కాష్ ` struct ఉదాహరణ ` ప్రింట్ పర్సన్ ` ఫంక్షన్
ప్రింట్ పర్సన్ ( కాష్ )
}
పై కోడ్లో, మేము మొదట రెండు ఫీల్డ్లతో వ్యక్తి నిర్మాణాన్ని ప్రకటించాము, పేరు, మరియు వయస్సు . మేము ఒక ఫంక్షన్ పేరుతో ప్రకటించాము ప్రింట్ పర్సన్ అది ఒక వ్యక్తి నిర్మాణాన్ని వాదనగా తీసుకుంటుంది మరియు fmt.Printf ఫంక్షన్ని ఉపయోగించి స్క్రీన్పై దాని పేరు మరియు వయస్సు ఫీల్డ్లను ప్రింట్ చేస్తుంది.
ప్రధాన ఫంక్షన్లో, మేము క్యాష్ పేరుతో కొత్త వ్యక్తి నిర్మాణ ఉదాహరణను సృష్టించాము కాష్ మరియు వయస్సు 24. మేము ప్రింట్పర్సన్ ఫంక్షన్కి కాల్ చేసి పాస్ చేయడం ద్వారా కాష్ స్ట్రక్ట్ ఇన్స్టాన్స్ను ప్రింట్పర్సన్ ఫంక్షన్కి పంపుతాము కాష్ వాదనగా.
పై కోడ్ని అమలు చేసిన తర్వాత కన్సోల్లో క్రింది అవుట్పుట్ చూడవచ్చు:
ముగింపు
గోలాంగ్లో, నిర్మాణాలు సంక్లిష్ట డేటా రకాలను సూచించగలవు మరియు సంబంధిత డేటాను సంగ్రహించగలవు. నిర్మాణం అనేది ఒకటి లేదా అంతకంటే ఎక్కువ ఫీల్డ్లతో రూపొందించబడిన డేటా రకం, వీటిలో ప్రతిదానికి నిర్దిష్ట పేరు మరియు రకం ఇవ్వబడుతుంది. నిర్మాణం యొక్క ఫీల్డ్లు ఇతర నిర్మాణాలు, శ్రేణులు, ఫంక్షన్లు లేదా ఇంటర్ఫేస్లతో సహా ఏదైనా రకంగా ఉండవచ్చు. ఈ కథనం గో నిర్మాణాలను వివరంగా చర్చించింది, స్ట్రక్ట్ ఎలిమెంట్లను ప్రకటించడం మరియు యాక్సెస్ చేయడం గురించి మరింత సమాచారం కోసం కథనాన్ని చదవండి.