কিভাবে গোলং বিল্ড ট্যাগ যোগ করবেন

Kibhabe Golam Bilda Tyaga Yoga Karabena



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

উদাহরণ 1: লিনাক্স সিস্টেমের জন্য গোলং বিল্ড ট্যাগ যোগ করুন

লিনাক্স অপারেটিং সিস্টেম টার্গেট করতে, আমরা “// +build linux” বিল্ড ট্যাগ যোগ করতে পারি।

// লিনাক্স তৈরি করতে যান

// +লিনাক্স তৈরি করুন

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

আমদানি 'fmt'

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

fmt . Println ( 'হ্যালো লিনাক্স সিস্টেম উদাহরণ' )

}

এখানে, আমরা Go-তে বিল্ড সীমাবদ্ধতা সেট করেছি যা নির্দিষ্ট করে যে কোডটি শুধুমাত্র তখনই তৈরি করা উচিত যদি লক্ষ্য সিস্টেমটি Linux হয়। এর পরে, আমরা প্যাকেজটি সংজ্ঞায়িত করি এবং কোডের জন্য প্রয়োজনীয় বিবৃতি আমদানি করি। তারপর, আমরা main() পদ্ধতিতে প্রবেশ করি যেখানে আমরা 'fmt' প্যাকেজ থেকে 'Println' কল ব্যবহার করে বার্তাটি প্রিন্ট করি।







এইভাবে, লিনাক্স অপারেটিং সিস্টেমের জন্য বার্তাটি সফলভাবে কনসোলে প্রদর্শিত হয়:





উদাহরণ 2: উইন্ডোজ সিস্টেমের জন্য গোলং বিল্ড ট্যাগ যোগ করুন

যখন আমরা উইন্ডোজ প্ল্যাটফর্মে কোডটি কার্যকর করতে চাই, তখন আমরা ফাইলের শুরুতে “// +build windows” বিল্ড ট্যাগ ব্যবহার করি। এর থেকে, আমরা নিশ্চিত করতে পারি যে কোডটি শুধুমাত্র বিল্ডে অন্তর্ভুক্ত করা হয়েছে যখন উইন্ডোজ উদ্দেশ্যযুক্ত প্ল্যাটফর্ম।





// +বিল্ড উইন্ডোজ

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

আমদানি 'fmt'

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

fmt . Println ( 'হ্যালো, উইন্ডোজ উদাহরণ!' )

}

এখানে, উইন্ডোজ প্ল্যাটফর্মের জন্য তৈরি করার সময় কোডটি শুধুমাত্র সংকলিত এবং কার্যকর করা হয়েছে তা নিশ্চিত করতে আমরা “// +বিল্ড উইন্ডোজ” বিল্ড সীমাবদ্ধতা ব্যবহার করি। এর পরে, আমরা প্যাকেজ এবং আমদানি মডিফায়ার সহ কোডের জন্য প্রয়োজনীয় প্যাকেজ অন্তর্ভুক্ত করি। তারপরে আসে main() ফাংশন যা গোলং-এ উইন্ডোর ট্যাগ তৈরি করার সময় স্টেটমেন্ট প্রিন্ট করতে println() ফাংশন ব্যবহার করে।

যখন আমরা একটি উইন্ডোজ সিস্টেমে এই প্রোগ্রামটি তৈরি এবং চালাই, তখন এটি 'হ্যালো, উইন্ডোজ উদাহরণ!' দেখায়। কনসোলে বার্তা। মনে রাখবেন যে বিল্ড সীমাবদ্ধতার কারণে প্রোগ্রামটি অন্যান্য অপারেটিং সিস্টেমে নির্মিত বা কার্যকর করা হবে না।



উদাহরণ 3: নন-উইন্ডোজ সিস্টেমের জন্য গোলং বিল্ড ট্যাগ যোগ করুন

বিপরীতভাবে, যদি আমরা উইন্ডোজ তৈরি করার সময় কোডটি বাদ দিতে চাই, আপনি '!' ব্যবহার করতে পারেন। বিল্ড ট্যাগ সহ বিস্ময়বোধক চিহ্ন।

// +বিল্ড !উইন্ডোজ

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

আমদানি 'fmt'

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

fmt . Println ( 'হ্যালো, উইন্ডোজ ছাড়া!' )

}

এখানে, আমরা একটি সীমাবদ্ধতার নির্দেশিকা তৈরি করি যা নির্দেশ করে যে কোডটি উইন্ডোজ ছাড়া অন্য প্ল্যাটফর্মে তৈরি এবং কার্যকর করা উচিত। উইন্ডোজের আগে বিস্ময় চিহ্ন (!) বোঝায় যে এই কোডটি উইন্ডোজ ছাড়া সমস্ত প্ল্যাটফর্মের জন্য অন্তর্ভুক্ত করা উচিত। তারপর, আমরা আগের ফাংশনের মতো একই প্রোগ্রাম নিয়ে এগিয়ে যাই যেখানে আমরা প্রথমে প্যাকেজগুলি যোগ করি এবং println() ফাংশনের ভিতরে পাস করা বার্তাটি কার্যকর করতে main() ফাংশনটিকে কল করি।

এইভাবে, আউটপুট অপারেটিং সিস্টেম কনসোলগুলিতে বার্তা তৈরি করে। মনে রাখবেন যে এটি বিল্ড সীমাবদ্ধতার কারণে উইন্ডোজ অপারেটিং সিস্টেমে কার্যকর হবে না:

উদাহরণ 4: OR লজিকের সাথে গোলং বিল্ড ট্যাগ যোগ করুন

উইন্ডোজ বা লিনাক্স টার্গেট করার সময় কোডটি অন্তর্ভুক্ত করতে, আমরা '// +build windows Linux' বিল্ড ট্যাগ ব্যবহার করতে পারি।

// +বিল্ড উইন্ডোজ লিনাক্স

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

আমদানি 'fmt'

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

fmt . Println ( 'আরে, উইন্ডোজ বা লিনাক্স ব্যবহারকারীরা' )

}

এখানে, আমরা লজিক্যাল OR এর সাথে বিল্ড সীমাবদ্ধতা প্রয়োগ করি যা উইন্ডোজ এবং লিনাক্স উভয় অপারেটিং সিস্টেমের জন্য তৈরি করতে চায়। '// +বিল্ড উইন্ডোজ লিনাক্স' লাইনটি নির্দিষ্ট করে যে এই ফাইলটি বিল্ডে অন্তর্ভুক্ত করা উচিত যখন লক্ষ্য প্ল্যাটফর্মটি হয় উইন্ডোজ বা লিনাক্স হয়। এরপরে, আমরা Go স্ট্যান্ডার্ড লাইব্রেরি থেকে 'fmt' প্যাকেজ আমদানি করি যা মৌলিক ইনপুট এবং আউটপুট কার্যকারিতা প্রদান করে। প্রধান ফাংশনে, আমরা “fmt” প্যাকেজ থেকে Println() ফাংশন ব্যবহার করে “Hey, Windows or Linux Users” স্ট্রিং স্টেটমেন্ট প্রিন্ট করি।

সুতরাং, আউটপুট নিম্নলিখিত পুনরুদ্ধার করা হয়. আমরা উইন্ডোজ বা লিনাক্স অপারেটিং সিস্টেম ব্যবহার করি না কেন একই বার্তা তৈরি হয়:

উদাহরণ 5: AND লজিকের সাথে গোলং বিল্ড ট্যাগ যোগ করুন

আরও জটিল অবস্থা তৈরি করতে আমরা একাধিক বিল্ড ট্যাগ নির্দিষ্ট করতে পারি। '// +build windows,linux' কমান্ডটি লিনাক্স এবং উইন্ডোজ উভয়ের জন্য একটি কোড তৈরি করতে ব্যবহার করা যেতে পারে।

// +বিল্ড উইন্ডোজ,386

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

আমদানি 'fmt'

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

fmt . Println ( 'এটি 32-বিট উইন্ডোজ' )

}

এখানে, বিল্ড সীমাবদ্ধতাটি সংজ্ঞায়িত করা হয়েছে '// +build windows,386' যা নির্দিষ্ট করে যে Go ফাইলটি বিল্ডে অন্তর্ভুক্ত করা উচিত যখন লক্ষ্য প্ল্যাটফর্মটি একটি 32-বিট উইন্ডোজ হয়। মনে রাখবেন যে আমরা Windows এবং 386 এর মধ্যে একটি কমা ব্যবহার করি যা লজিক্যাল এবং অপারেটর হিসাবে কাজ করে। এর মানে হল যে কোডটি বিল্ডে অন্তর্ভুক্ত করার জন্য উভয় শর্তই সন্তুষ্ট হতে হবে।

তারপর, আগের উদাহরণের মতো, আমরা আউটপুটের জন্য Println ফাংশন() ব্যবহার করার জন্য Go স্ট্যান্ডার্ড লাইব্রেরি থেকে 'fmt' প্যাকেজ আমদানি করি। আমাদের প্রোগ্রামের main() ফাংশন আছে যেখানে বিবৃতিটি println() ফাংশনের আর্গুমেন্ট হিসেবে পাস করা হয়।

যখন আমরা একটি 32-বিট উইন্ডোজ সিস্টেমে এই প্রোগ্রামটি তৈরি এবং চালাই, তখন এটি আউটপুট হিসাবে নির্দিষ্ট বার্তা প্রদর্শন করে। যাইহোক, যদি আমরা একটি ভিন্ন অপারেটিং সিস্টেম বা আর্কিটেকচারে এটি তৈরি এবং চালানোর চেষ্টা করি, তবে এটি বিল্ডে অন্তর্ভুক্ত করা হবে না:

উদাহরণ 6: একটি নির্দিষ্ট ফাংশনের জন্য গোলং বিল্ড ট্যাগ যোগ করুন

তাছাড়া, বিল্ড ট্যাগগুলি একটি ফাইলের মধ্যে নির্দিষ্ট ফাংশনে প্রয়োগ করা যেতে পারে। বিল্ড সীমাবদ্ধতার কারণে, আমরা এখন শর্তসাপেক্ষে নির্দিষ্ট ফাংশন অন্তর্ভুক্ত বা অপসারণ করতে পারি।

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

আমদানি 'fmt'

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

fmt . Println ( 'আরে, উপভোগ করুন!' )

প্রিন্ট উইন্ডোজ মেসেজ ()

}

// +বিল্ড উইন্ডোজ

ফাংশন প্রিন্ট উইন্ডোজ মেসেজ () {

fmt . Println ( 'উইন্ডোজ অপারেটিং সিস্টেম থেকে হ্যালো' )

}

এখানে, আমরা এখন মূল() পদ্ধতিতে এগিয়ে যাই যা শুরুতে বার্তাটি প্রিন্ট করতে “fmt” প্যাকেজ দ্বারা প্রদত্ত Println() পদ্ধতি ব্যবহার করে। তারপর, আমরা main() ফাংশনের নিচে printWindowsMessage() ফাংশন স্থাপন করি এবং “// +build windows” বিল্ড সীমাবদ্ধতা নির্দিষ্ট করি। এটি নির্দেশ করে যে ফাংশনটি শুধুমাত্র বিল্ডে অন্তর্ভুক্ত করা হয় যখন লক্ষ্য প্ল্যাটফর্মটি উইন্ডোজ হয়।

অবশেষে, আমরা Println() ফাংশন ব্যবহার করে নির্দিষ্ট “Hello From Windows অপারেটিং সিস্টেম” বার্তা প্রিন্ট করার জন্য printWindowsMessage() ফাংশন সেট করি।

এইভাবে, আউটপুট পুনরুদ্ধার করা হয় যা সাধারণ বার্তা এবং প্ল্যাটফর্ম-নির্দিষ্ট বার্তা উভয়ই প্রদর্শন করে। মনে রাখবেন যে আমরা যদি এটি একটি ভিন্ন অপারেটিং সিস্টেমে তৈরি এবং চালাই, তাহলে printWindowsMessage() ফাংশনটি বিল্ডে অন্তর্ভুক্ত করা হবে না এবং শুধুমাত্র সাধারণ বার্তাটি প্রদর্শিত হবে:

উপসংহার

Go-তে বিল্ড ট্যাগ যোগ করা বিল্ড প্রক্রিয়া চলাকালীন কোড অন্তর্ভুক্তি কাস্টমাইজ করার ক্ষমতা প্রদান করে। বিল্ড ট্যাগ ব্যবহার করে, আমরা প্ল্যাটফর্ম-নির্দিষ্ট বিল্ড তৈরি করতে পারি, বিভিন্ন আর্কিটেকচারের জন্য কোড অপ্টিমাইজ করতে পারি এবং এমনকি শর্তসাপেক্ষে নির্দিষ্ট ফাংশন বা বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করতে পারি।