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