গুগল প্রোগ্রামিং ল্যাঙ্গুয়েজ গো এর নতুন সংস্করণের একটি পূর্বরূপ প্রকাশ করেছে। সংস্করণ 1.18 তথাকথিত 'প্যারামিটারাইজড' প্রকারের সাথে 'জেনারিক' প্রোগ্রামিংয়ের জন্য কার্যকারিতা যোগ করে।
তাদের নিজের কথায়, গো সংস্করণ 1 প্রকাশের পর থেকে এটি প্রোগ্রামিং ভাষার সবচেয়ে গুরুত্বপূর্ণ এবং সবচেয়ে বড় পরিবর্তন। জেনেরিকের পিছনে ধারণাটি হল যে এটি এখন প্রকারগুলি পরিবর্তন করে ফাংশন এবং ডেটা স্ট্রাকচারের প্রতিনিধিত্ব করার জন্য কার্যকারিতা অনুমোদন করে। এটি একটি ইন্টারফেস প্রকারকে একটি ফাংশনে আনা প্রকৃত ডেটাকে বিমূর্ত করার উপায় হিসাবে সংজ্ঞায়িত করে অনুমোদিত 'সাধারণতা' বাদ দেয়।
গুগল ইঙ্গিত দেয় যে Go বিকাশকারীদের বুঝতে হবে যে কার্যকারিতা নিঃসন্দেহে নতুন বাগগুলির দিকে নিয়ে যাবে। তাই তাদের সতর্কতার সাথে এই 'জেনারিকস'-এর কাছে যাওয়া উচিত।
Go 1.18 বিটাতে অন্যান্য কার্যকারিতা
উপরের কার্যকারিতা ছাড়াও, নতুন প্রিভিউতে ফাজিং-ভিত্তিক পরীক্ষা লেখার জন্য অন্তর্নির্মিত সমর্থনও রয়েছে। এই পরীক্ষাগুলি স্বয়ংক্রিয়ভাবে ইনপুটগুলি খুঁজে পেতে পারে যা প্রোগ্রামগুলিকে ক্র্যাশ করে বা অবৈধ উত্তর ফেরত দেয়। গো 1.18 বিটা একটি নতুন 'গো ওয়ার্কস্পেস মোড' অফার করে। এটি প্রোগ্রামারদের একই সাথে একাধিক Go মডিউলের সাথে কাজ করতে দেয়। গুগলের মতে এটি বড় প্রকল্পের জন্য বিশেষভাবে কার্যকর।
উপরন্তু, সংস্করণ 1.18 বিটা একটি বর্ধিত গো সংস্করণ -m কমান্ডের সাথে কার্যকারিতা যোগ করে। এই কমান্ডটি এখন কম্পাইলার পতাকা হিসাবে বিবরণ সংরক্ষণ করে। একটি প্রোগ্রাম এখন debug.ReadBuildInfo কমান্ডের সাহায্যে তার নিজস্ব বিল্ডের বিবরণ জিজ্ঞাসা করতে পারে।
এছাড়াও, Go 1.17 থেকে উপলব্ধ আরও রেজিস্টার-ভিত্তিক কলিং কনভেনশন প্রিভিউতে যোগ করা হয়েছে। যেখানে পূর্ববর্তী সংস্করণে এই কার্যকারিতা শুধুমাত্র x86 এবং x64 সিস্টেমে Go কোডের গতি বাড়ানোর জন্য উপযুক্ত ছিল, এটি এখন ARM64 এবং PPC64 ভিত্তিক সিস্টেমের জন্যও উপযুক্ত। এটি 20 শতাংশ পর্যন্ত আরও গতি প্রদান করবে।