Google пешнамоиши версияи нави забони барномасозии Go нашр кард. Версияи 1.18 функсияҳоро барои барномасозии "умумӣ" бо навъҳои ба истилоҳ "параметризатсияшуда" илова мекунад.
Ба ибораи худи онҳо, ин муҳимтарин ва бузургтарин тағирот дар забони барномасозӣ пас аз нашри версияи Go 1 мебошад. Идеяи паси генерикҳо дар он аст, ки он ҳоло имкон медиҳад, ки функсияҳо барои муаррифии функсияҳо ва сохторҳои додаҳо тавассути тағир додани намудҳо. Ин "умумӣ" -ро истисно мекунад, ки тавассути муайян кардани навъи интерфейс ҳамчун роҳи абстрактизатсияи маълумоти воқеии ба функсия овардашуда иҷозат дода мешавад.
Google нишон медиҳад, ки таҳиягарони Go бояд дарк кунанд, ки ин функсия бешубҳа ба хатогиҳои нав оварда мерасонад. Аз ин рӯ, онҳо бояд ба ин "генерикҳо" бо эҳтиёт муносибат кунанд.
Дигар функсияҳо дар Go 1.18 Beta
Илова ба функсияҳои дар боло зикршуда, пешнамоиши нав инчунин дорои дастгирии дарунсохт барои навиштани санҷишҳои дар асоси фуҷур асосёфта мебошад. Ин санҷишҳо метавонанд ба таври худкор воридотро пайдо кунанд, ки боиси шикастани барномаҳо ё баргардонидани ҷавобҳои беэътибор мешаванд. Go 1.18 Beta инчунин режими нави "Гуфтани фазои корӣ" -ро пешниҳод мекунад. Ин ба барномасозон имкон медиҳад, ки дар як вақт бо якчанд модулҳои Go кор кунанд. Ба гуфтаи Google, ин махсусан барои лоиҳаҳои калон муфид аст.
Ғайр аз он, версияи 1.18 Beta функсияро бо фармони васеъшудаи go version -m илова мекунад. Ин фармон ҳоло тафсилотро ҳамчун парчамҳои компилятор нигоҳ медорад. Акнун барнома метавонад тафсилоти сохтани худро бо фармони debug.ReadBuildInfo пурсад.
Инчунин, конвенсияи бештари зангҳои ба қайд асосёфта, ки аз Go 1.17 дастрас аст, дар пешнамоиш илова карда шудааст. Агар дар версияи қаблӣ ин функсия танҳо барои суръат бахшидани коди Go дар системаҳои x86 ва x64 мувофиқ буд, ҳоло он барои системаҳои асоси ARM64 ва PPC64 низ мувофиқ аст. Ин бояд суръатро то 20 фоиз зиёд кунад.