Google Go программалоо тилинин жаңы версиясынын алдын ала кароосун чыгарды. 1.18 версиясы "параметрлештирилген" деп аталган типтеги "жалпы" программалоо үчүн функцияларды кошот.
Өз сөздөрү менен айтканда, бул Go версиясы 1 чыккандан берки программалоо тилиндеги эң маанилүү жана эң чоң өзгөрүү. Генериктердин артында турган идея азыр типтерди өзгөртүү аркылуу функцияларды жана маалымат структураларын көрсөтүүгө мүмкүнчүлүк берет. Бул функцияга келтирилип жаткан реалдуу маалыматтарды абстракциялоо жолу катары интерфейстин түрүн аныктоо аркылуу уруксат берилген "жалпылыкты" жокко чыгарат.
Google Go иштеп чыгуучулары бул функция жаңы мүчүлүштүктөргө алып келерин түшүнүшү керек экенин көрсөтөт. Ошондуктан алар бул «генериктерге» этияттык менен мамиле кылышы керек.
Go 1.18 Бетадагы башка функциялар
Жогорудагы функциялардан тышкары, жаңы алдын ала кароо ошондой эле бүдөмүккө негизделген тесттерди жазуу үчүн орнотулган колдоого ээ. Бул тесттер автоматтык түрдө программалардын бузулушуна же жараксыз жоопторду кайтарууга алып келген киргизүүлөрдү таба алат. Go 1.18 Бета ошондой эле жаңы "Go жумушчу мейкиндиги режимин" сунуштайт. Бул программисттерге бир эле учурда бир нече Go модулдары менен иштөөгө мүмкүндүк берет. Бул Google ылайык, ири долбоорлор үчүн өзгөчө пайдалуу.
Андан тышкары, 1.18 Бета версиясы кеңейтилген go version -m буйругу менен функцияларды кошот. Бул буйрук азыр деталдарды компилятордун желектери катары сактайт. Эми программа debug.ReadBuildInfo буйругу менен өзүнүн куруу чоо-жайын сурай алат.
Ошондой эле, Go 1.17ден бери жеткиликтүү болгон реестрге негизделген чалуу конвенциясы алдын ала кароого кошулду. Мурунку версияда бул функция x86 жана x64 системаларында Go кодун тездетүү үчүн гана ылайыктуу болсо, азыр ARM64 жана PPC64 негизиндеги системалар үчүн да ылайыктуу. Бул 20 процентке чейин ылдамдыкты камсыз кылууга тийиш.