গোলং এ সিলেক্ট স্টেটমেন্ট কিভাবে ব্যবহার করবেন?

Golam E Silekta Stetamenta Kibhabe Byabahara Karabena



বিবৃতি নির্বাচন করুন ইন গোল্যাং ডেভেলপারদের গো রুটিন, চ্যানেল এবং ডেটা স্ট্রিমগুলির মধ্যে সিঙ্ক্রোনাইজ এবং যোগাযোগ করতে সক্ষম করে। এটি একটি গো প্রোগ্রামকে একসাথে একাধিক চ্যানেল অপারেশনের জন্য অপেক্ষা করতে এবং প্রস্তুত প্রথম অপারেশনটি চালানোর অনুমতি দেয়।

এই নিবন্ধে, আমরা কিভাবে ব্যবহার করতে হবে তা অন্বেষণ করব বিবৃতি নির্বাচন করুন Golang-এ এবং Go প্রোগ্রামগুলিতে সমান্তরালতা, একত্রীকরণ এবং সিঙ্ক্রোনাইজেশন অর্জনে সহায়তা করার জন্য উদাহরণ প্রদান করুন।

গোলং এ সিলেক্ট স্টেটমেন্ট কিভাবে ব্যবহার করবেন?

সুইচ বিবৃতি অনুরূপ, বিবৃতি নির্বাচন করুন অনেক এক্সপ্রেশনের মধ্যে একটি এক্সপ্রেশন নির্বাচন এবং কার্যকর করার অনুমতি দেয়, কিন্তু প্রাথমিক পার্থক্য নির্বাচন করুন এবং সুইচ হল যে বিবৃতি নির্বাচন করুন অপেক্ষা নীতির উপর ফাংশন, যার মানে হল যে বিবৃতি নির্বাচন করুন যোগাযোগ সম্পূর্ণ না হওয়া পর্যন্ত চালানো হবে না।







এখানে, যোগাযোগ বলতে কোনো প্রদত্ত চ্যানেল জুড়ে ডেটা পাঠানো এবং গ্রহণ করা বোঝায়। যোগাযোগ সম্পন্ন হলে, পরবর্তী পরীক্ষা করা হয়, যা আমাদের দেখতে দেয় যে গো ভাষার নির্বাচনী বিবৃতি সম্পূর্ণভাবে চ্যানেলের উপর নির্ভরশীল।



সিলেক্ট স্টেটমেন্টের জন্য সিনট্যাক্স

এর জন্য ব্যবহৃত সরল সিনট্যাক্স বিবৃতি নির্বাচন করুন Go ভাষা ব্যবহার করে নীচে দেখানো হয়েছে:



নির্বাচন করুন {
মামলা চ্যানেল_1 :
চ্যানেল_1 প্রস্তুত হলে চালানোর জন্য // কোড
মামলা চ্যানেল_২ :
চ্যানেল_2 প্রস্তুত হলে এক্সিকিউট করার জন্য কোড
মামলা চ্যানেল_৩ :
চ্যানেল_3 প্রস্তুত হলে চালানোর জন্য // কোড
মামলা চ্যানেল_৪ :
চ্যানেল_4 প্রস্তুত হলে এক্সিকিউট করার জন্য কোড
ডিফল্ট :
// কোনো চ্যানেল প্রস্তুত না হলে চালানোর জন্য কোড
}

এখানে:





  • ইতোমধ্যে বিবৃতি নির্বাচন করুন , প্রতিটি ক্ষেত্রে একটি চ্যানেল অপারেশন প্রতিনিধিত্ব করে, যা একটি গ্রহণ অপারেশন বা প্রেরণ অপারেশন হতে পারে।
  • দ্য বিবৃতি নির্বাচন করুন একটি কেস প্রস্তুত না হওয়া পর্যন্ত অপেক্ষা করে এবং তারপর এটি এবং সংশ্লিষ্ট কেস স্টেটমেন্ট চালায়।
  • একাধিক চ্যানেল কার্যকর করার জন্য প্রস্তুত থাকলে এটি এলোমেলোভাবে চ্যানেল নির্বাচন করে।

গোলাঙ্গে কীভাবে একটি চ্যানেল তৈরি করবেন

Go-তে একটি চ্যানেল তৈরি করতে, ব্যবহারকারীরা মেক ফাংশনটি ব্যবহার করতে পারেন যার পরে চ্যান কীওয়ার্ড এবং চ্যানেলের ধরন নির্দিষ্ট করুন, যা int, স্ট্রিং বা অন্যান্য হতে পারে।

সিএইচ := করা ( চ্যান টাইপ )

গোলং-এ নির্বাচন বিবৃতি প্রয়োগ করুন

এখানে, আমরা আপনাকে ব্যবহার করার মূল বিষয়গুলি শিখতে সাহায্য করার জন্য বেশ কয়েকটি উদাহরণ প্রদান করব বিবৃতি নির্বাচন করুন গোলং-এ।



উদাহরণ 1

নিম্নলিখিত উদাহরণ বিবৃতি নির্বাচন করুন উভয় চ্যানেল কার্যকর করার জন্য প্রস্তুত হলে এটি কীভাবে কার্য সম্পাদন করে তা প্রদর্শন করে।

প্যাকেজ প্রধান

আমদানি 'fmt'

ফাংশন প্রধান ( ) {

একের উপর := করা ( চ্যান int )

str := করা ( chan স্ট্রিং )

chan_num যান ( একের উপর )

যান chan_str ( str )

নির্বাচন করুন {

মামলা Ch1 := <- একের উপর :

fmt Println ( 'চ্যানেল ডেটা:' , Ch1 )

মামলা Ch2 := <- str :

fmt Println ( 'চ্যানেল ডেটা:' , Ch2 )

}

}

func chan_num ( num chan int ) {

একের উপর <- 67

}

func chan_str ( str chan স্ট্রিং ) {

str <- 'লিনাক্স'

}

উপরের উদাহরণে, আমরা দুটি চ্যানেল তৈরি করেছি, একের উপর, এবং str এবং আমরা Go ফাংশন ব্যবহার করেছি chan_num() num চ্যানেলে ডেটা পাঠাতে এবং chan_str() str চ্যানেলে ডেটা পাঠাতে। কারণ প্রোগ্রামটিতে দুটি ভিন্ন চ্যানেল রয়েছে, আমরা এটি ব্যবহার করেছি বিবৃতি নির্বাচন করুন তাদের একজনকে কার্যকর করতে।

মামলা Ch1 থেকে মান পড়ে চ্যানেল সংখ্যা এবং এটি প্রদর্শন করে। একইভাবে, মামলা Ch2 থেকে মান ফেরত দেয় str চ্যানেল উপরের প্রোগ্রামটি ব্যবহার করার জন্য প্রস্তুত চ্যানেলের আউটপুট প্রদান করে। আউটপুট

উদাহরণ 2

আপনি যদি একটি চ্যানেলে বিলম্ব যোগ করতে এবং অন্য চ্যানেলের আউটপুট ফেরত দিতে চান, আপনি ব্যবহার করতে পারেন time.sleep() একটি নির্দিষ্ট চ্যানেলে ফাংশন। এটি আপনাকে অন্য চ্যানেলের আউটপুট কনসোলে প্রিন্ট করতে দেয়। এখানে যেমন একটি ক্ষেত্রে একটি উদাহরণ.

প্যাকেজ প্রধান

আমদানি (

'fmt'

'সময়'

)

ফাংশন প্রধান ( ) {

একের উপর := করা ( চ্যান int )

str := করা ( chan স্ট্রিং )

chan_num যান ( একের উপর )

যান chan_str ( str )

নির্বাচন করুন {

মামলা Ch1 := <- একের উপর :

fmt Println ( 'চ্যানেল ডেটা:' , Ch1 )

মামলা Ch2 := <- str :

fmt Println ( 'চ্যানেল ডেটা:' , Ch2 )

}

}

func chan_num ( num chan int ) {

একের উপর <- 67

}

func chan_str ( str chan স্ট্রিং ) {

সময় . ঘুম ( 5 * সময় . দ্বিতীয় )

str <- 'লিনাক্স'

}

উপরের প্রদত্ত কোডে, আমরা ব্যবহার করেছি সময়। ঘুম() ভিতরে ফাংশন chan_str() ফাংশন প্রথম 5 সেকেন্ডের জন্য শুধুমাত্র সংখ্যা চ্যানেলটি কার্যকর করার জন্য প্রস্তুত। ফলস্বরূপ, দ বিবৃতি নির্বাচন করুন রান কেস Ch1 .

আউটপুট

বিঃদ্রঃ: চ্যানেলের সম্পাদনে বিলম্ব করতে আপনি উভয় চ্যানেলে বিলম্ব যোগ করতে পারেন।

উপসংহার

দ্য বিবৃতি নির্বাচন করুন ইন গো অপেক্ষা নীতি ব্যবহার করে অনেক এক্সপ্রেশনের মধ্যে একটি এক্সপ্রেশন নির্বাচন এবং কার্যকর করার অনুমতি দেয়, যেখানে যোগাযোগ সম্পূর্ণ না হওয়া পর্যন্ত বিবৃতিটি কার্যকর হবে না। উপরে উল্লিখিত নির্দেশিকা অন্তর্ভুক্ত বিবৃতি নির্বাচন করুন মৌলিক সিনট্যাক্স এবং উদাহরণ।