गोलंग में सेलेक्ट स्टेटमेंट का उपयोग कैसे करें?

Golanga Mem Selekta Stetamenta Ka Upayoga Kaise Karem



चयन कथन गोलंग में डेवलपर्स को गो रूटीन, चैनल और डेटा स्ट्रीम के बीच सिंक्रनाइज़ और संचार करने में सक्षम बनाता है। यह एक गो प्रोग्राम को एक साथ कई चैनल ऑपरेशंस पर प्रतीक्षा करने और तैयार होने वाले पहले ऑपरेशन को निष्पादित करने की अनुमति देता है।

इस लेख में, हम पता लगाएंगे कि कैसे उपयोग करना है चयन कथन गोलंग में और गो कार्यक्रमों में समानता, संगामिति और तुल्यकालन प्राप्त करने में आपकी मदद करने के लिए उदाहरण प्रदान करें।

गोलंग में सेलेक्ट स्टेटमेंट का उपयोग कैसे करें?

स्विच स्टेटमेंट के समान, चयन कथन हमें कई अभिव्यक्तियों के बीच एक अभिव्यक्ति का चयन करने और निष्पादित करने की अनुमति देता है, लेकिन प्राथमिक अंतर चुनना और स्विच यह है कि चयन कथन प्रतीक्षा सिद्धांत पर कार्य करता है, जिसका अर्थ है कि चयन कथन संचार पूर्ण होने तक निष्पादित नहीं होगा।







यहाँ, संचार किसी दिए गए चैनल में डेटा भेजने और प्राप्त करने को संदर्भित करता है। जब संचार पूरा हो जाता है, तो अगली जाँच की जाती है, जिससे हमें यह देखने की अनुमति मिलती है कि गो भाषा का चयन कथन पूरी तरह से चैनल पर निर्भर है।



चयन कथन के लिए सिंटेक्स

के लिए प्रयुक्त सरल सिंटैक्स चयन कथन गो भाषा का उपयोग नीचे दिखाया गया है:



चुनना {
मामला चैनल 1 :
// कोड निष्पादित करने के लिए जब channel_1 तैयार हो
मामला चैनल_2 :
// कोड निष्पादित करने के लिए जब channel_2 तैयार हो
मामला चैनल_3 :
// कोड निष्पादित करने के लिए जब channel_3 तैयार हो
मामला चैनल_4 :
// कोड निष्पादित करने के लिए जब channel_4 तैयार हो
गलती करना :
// कोड निष्पादित करने के लिए यदि कोई भी चैनल तैयार नहीं है
}

यहाँ:





  • इसके अंदर चयन कथन , प्रत्येक मामला एक चैनल ऑपरेशन का प्रतिनिधित्व करता है, जो एक प्राप्त ऑपरेशन या एक सेंड ऑपरेशन हो सकता है।
  • चयन कथन किसी एक मामले के तैयार होने तक प्रतीक्षा करता है और फिर उसे और संबंधित मामले के बयान को चलाता है।
  • यदि कई चैनल निष्पादित करने के लिए तैयार हैं तो यह बेतरतीब ढंग से चैनल का चयन करता है।

गोलंग में चैनल कैसे बनाये

गो में एक चैनल बनाने के लिए, उपयोगकर्ता मेक फ़ंक्शन का उपयोग कर सकते हैं चान कीवर्ड और चैनल प्रकार निर्दिष्ट करें, जो int, string, या अन्य हो सकता है।

चौधरी := निर्माण ( चान प्रकार )

गोलंग में सेलेक्ट स्टेटमेंट लागू करें

यहां, हम आपको उपयोग करने की मूल बातें सीखने में मदद करने के लिए कई उदाहरण प्रदान करेंगे चयन कथन गोलांग में।



उदाहरण 1

निम्नलिखित उदाहरण चयन कथन प्रदर्शित करता है कि यह कैसा प्रदर्शन करता है जब दोनों चैनल निष्पादित करने के लिए तैयार होते हैं।

मुख्य पैकेज

आयात 'एफएमटी'

func main ( ) {

एक पर := निर्माण ( चान int यहाँ )

एसटीआर := निर्माण ( चान स्ट्रिंग )

जाओ chan_num ( एक पर )

जाओ chan_str ( एसटीआर )

चुनना {

मामला Ch1 := <- एक पर :

fmt. Println ( 'चैनल डेटा:' , Ch1 )

मामला Ch2 := <- एसटीआर :

fmt. Println ( 'चैनल डेटा:' , Ch2 )

}

}

func chan_num ( संख्या चान int यहाँ ) {

एक पर <- 67

}

func chan_str ( स्ट्र चान स्ट्रिंग ) {

एसटीआर <- 'लिनक्स'

}

उपरोक्त उदाहरण में, हमने दो चैनल बनाए, एक पर, और एसटीआर और हमने गो फ़ंक्शन का उपयोग किया चान_नम () संख्या चैनल को डेटा भेजने के लिए और chan_str() str चैनल को डेटा भेजने के लिए। क्योंकि कार्यक्रम में दो अलग-अलग चैनल हैं, हमने इसका उपयोग किया चयन कथन उनमें से एक को निष्पादित करने के लिए।

मामला Ch1 से मान पढ़ता है संख्या चैनल और इसे प्रदर्शित करता है। इसी तरह, मामला Ch2 से मान लौटाता है एसटीआर चैनल। उपरोक्त प्रोग्राम उस चैनल का आउटपुट लौटाता है जो उपयोग के लिए तैयार है। उत्पादन

उदाहरण 2

यदि आप एक चैनल में विलंब जोड़ना चाहते हैं और दूसरे चैनल का आउटपुट लौटाना चाहते हैं, तो आप इसका उपयोग कर सकते हैं समय पर सोये() एक निर्दिष्ट चैनल पर काम करता है। यह आपको दूसरे चैनल के आउटपुट को कंसोल पर प्रिंट करने की अनुमति देता है। यहाँ ऐसे मामले का एक उदाहरण है।

मुख्य पैकेज

आयात (

'एफएमटी'

'समय'

)

func main ( ) {

एक पर := निर्माण ( चान int यहाँ )

एसटीआर := निर्माण ( चान स्ट्रिंग )

जाओ chan_num ( एक पर )

जाओ chan_str ( एसटीआर )

चुनना {

मामला Ch1 := <- एक पर :

fmt. Println ( 'चैनल डेटा:' , Ch1 )

मामला Ch2 := <- एसटीआर :

fmt. Println ( 'चैनल डेटा:' , Ch2 )

}

}

func chan_num ( संख्या चान int यहाँ ) {

एक पर <- 67

}

func chan_str ( स्ट्र चान स्ट्रिंग ) {

समय . नींद ( 5 * समय . दूसरा )

एसटीआर <- 'लिनक्स'

}

ऊपर दिए गए कोड में, हमने इस्तेमाल किया समय पर सोये() के अंदर कार्य करें chan_str() समारोह। पहले 5 सेकंड के लिए निष्पादन के लिए केवल अंक चैनल तैयार है। परिणामस्वरूप, द चयन कथन केस चलाता है Ch1 .

उत्पादन

टिप्पणी: चैनलों के निष्पादन में देरी करने के लिए आप दोनों चैनलों में देरी जोड़ सकते हैं।

निष्कर्ष

चयन कथन गो में प्रतीक्षा सिद्धांत का उपयोग करते हुए कई भावों में से एक अभिव्यक्ति के चयन और निष्पादन की अनुमति देता है, जहां संचार पूरा होने तक कथन निष्पादित नहीं होगा। उपर्युक्त दिशानिर्देशों में शामिल हैं चयन कथन बुनियादी वाक्य रचना और उदाहरण।