ગૂગલે પ્રોગ્રામિંગ લેંગ્વેજ ગોના નવા વર્ઝનનું પૂર્વાવલોકન બહાર પાડ્યું છે. સંસ્કરણ 1.18 કહેવાતા 'પેરામીટરાઇઝ્ડ' પ્રકારો સાથે 'જેનરિક' પ્રોગ્રામિંગ માટે કાર્યક્ષમતા ઉમેરે છે.
તેમના પોતાના શબ્દોમાં, ગો સંસ્કરણ 1 ના પ્રકાશન પછી પ્રોગ્રામિંગ ભાષામાં તે સૌથી મહત્વપૂર્ણ અને સૌથી મોટો ફેરફાર છે. જેનરિક પાછળનો વિચાર એ છે કે તે હવે પ્રકારોમાં ફેરફાર કરીને ફંક્શન્સ અને ડેટા સ્ટ્રક્ચર્સનું પ્રતિનિધિત્વ કરવા માટે કાર્યક્ષમતાને મંજૂરી આપે છે. આ ફંક્શનમાં લાવવામાં આવી રહેલા વાસ્તવિક ડેટાને અમૂર્ત કરવાના માર્ગ તરીકે ઇન્ટરફેસ પ્રકારને વ્યાખ્યાયિત કરીને માન્ય 'સામાન્યતા'ને બાકાત રાખે છે.
Google સૂચવે છે કે Go વિકાસકર્તાઓએ સમજવું જોઈએ કે કાર્યક્ષમતા નિઃશંકપણે નવા બગ્સ તરફ દોરી જશે. તેથી તેઓએ સાવધાની સાથે આ 'જેનરિક' નો સંપર્ક કરવો જોઈએ.
Go 1.18 બીટામાં અન્ય કાર્યક્ષમતા
ઉપરોક્ત કાર્યક્ષમતા ઉપરાંત, નવા પૂર્વાવલોકનમાં ફઝિંગ-આધારિત પરીક્ષણો લખવા માટે બિલ્ટ-ઇન સપોર્ટ પણ છે. આ પરીક્ષણો આપમેળે એવા ઇનપુટ્સ શોધી શકે છે જેના કારણે પ્રોગ્રામ ક્રેશ થાય છે અથવા અમાન્ય જવાબો પરત કરે છે. ગો 1.18 બીટા એક નવો 'ગો વર્કસ્પેસ મોડ' પણ ઓફર કરે છે. આ પ્રોગ્રામરોને એકસાથે બહુવિધ ગો મોડ્યુલ સાથે કામ કરવાની મંજૂરી આપે છે. ગૂગલના જણાવ્યા અનુસાર આ ખાસ કરીને મોટા પ્રોજેક્ટ્સ માટે ઉપયોગી છે.
વધુમાં, વર્ઝન 1.18 બીટા વિસ્તૃત ગો વર્ઝન -m આદેશ સાથે કાર્યક્ષમતા ઉમેરે છે. આ આદેશ હવે કમ્પાઇલર ફ્લેગ્સ તરીકે વિગતોનો સંગ્રહ કરે છે. પ્રોગ્રામ હવે ડીબગ.ReadBuildInfo આદેશ સાથે તેની પોતાની બિલ્ડ વિગતોને પૂછી શકે છે.
ઉપરાંત, વધુ રજીસ્ટર-આધારિત કૉલિંગ કન્વેન્શન, Go 1.17 થી ઉપલબ્ધ છે, તે પૂર્વાવલોકનમાં ઉમેરવામાં આવ્યું છે. જ્યાં અગાઉના સંસ્કરણમાં આ કાર્યક્ષમતા માત્ર x86 અને x64 સિસ્ટમ્સ પર ગો કોડને ઝડપી બનાવવા માટે યોગ્ય હતી, તે હવે ARM64 અને PPC64 આધારિત સિસ્ટમ્સ માટે પણ યોગ્ય છે. આનાથી 20 ટકા વધુ ઝડપ પૂરી પાડવી જોઈએ.