גוגל פרסמה תצוגה מקדימה של הגרסה החדשה של שפת התכנות Go. גרסה 1.18 מוסיפה פונקציונליות עבור תכנות 'גנרי' עם סוגים שנקראים 'פרמטרים'.
במילים שלהם, זהו השינוי החשוב והגדול ביותר בשפת התכנות מאז שחרורו של Go גרסה 1. הרעיון מאחורי הגנריות הוא שהיא מאפשרת כעת פונקציונליות לייצוג פונקציות ומבני נתונים על ידי שינוי הסוגים. זה לא כולל את ה'כלליות' המותרת על ידי הגדרת סוג ממשק כדרך להפשטת הנתונים בפועל המובאים לפונקציה.
גוגל מציינת שמפתחי Go צריכים להבין שהפונקציונליות ללא ספק תוביל לבאגים חדשים. לכן עליהם לגשת ל'גנריות' אלו בזהירות.
פונקציונליות נוספת ב-Go 1.18 בטא
בנוסף לפונקציונליות שלעיל, לתצוגה המקדימה החדשה יש גם תמיכה מובנית בכתיבת מבחנים מבוססי fuzzing. בדיקות אלו יכולות למצוא באופן אוטומטי תשומות שגורמות לתוכניות לקרוס או להחזיר תשובות לא חוקיות. Go 1.18 Beta מציעה גם 'מצב עבודה סביבת עבודה' חדש. זה מאפשר למתכנתים לעבוד עם מספר מודולי Go בו-זמנית. זה שימושי במיוחד עבור פרויקטים גדולים, לפי גוגל.
יתר על כן, גרסה 1.18 Beta מוסיפה פונקציונליות עם פקודת go מורחבת -m. פקודה זו מאחסנת כעת פרטים כדגלי מהדר. תוכנית יכולה כעת לבצע שאילתות על פרטי הבנייה שלה באמצעות הפקודה debug.ReadBuildInfo.
כמו כן, עוד אמנת שיחות מבוססת רישום, הזמינה מאז Go 1.17, נוספה בתצוגה המקדימה. כאשר בגרסה הקודמת פונקציונליות זו התאימה רק להאצת קוד Go במערכות x86 ו-x64, כעת היא מתאימה גם למערכות מבוססות ARM64 ו-PPC64. זה אמור לספק עד 20 אחוז יותר מהירות.