
רוב מי שמגיע ל-Go משפה אחרת מנסה לכתוב בה כמו שהוא רגיל, ואז נלחם בשפה במקום לזרום איתה.
קבלו את הטיפול המפורש בשגיאות
ב-Go אין
try/catch, וכל פונקציה מחזירה error שצריך לבדוק. זה נראה מסורבל בהתחלה, אבל זו בדיוק הסיבה שקוד Go קריא וצפוי. השורה if err != nil תחזור על עצמה הרבה, וזה בסדר גמור. אל תתעלמו מ-err, טפלו בו במקום.גוראוטינים הם זולים, אבל לא בחינם
הפעלת
goroutine עם go היא שורה אחת, אבל בלי channel או sync.WaitGroup לתיאום, תקבלו race conditions או דליפות. הריצו תמיד את הבדיקות עם הדגל -race.טיפ: הריצוgofmtו-go vetלפני כל commit. ב-Go אין ויכוחים על סגנון, הכלים מכריעים, וזה חוסך שעות של דיונים מיותרים בקוד ריוויו.
הבינו מצביעים לפני שאתם בורחים מהם
Go משתמש במצביעים בגלוי, אבל בלי אריתמטיקה מסוכנת. הכלל הפשוט: אם מתודה צריכה לשנות את המבנה, קבלו מקלט מסוג מצביע
*T, אחרת קבלו ערך. השתמשו במצביעים גם כשהמבנה גדול ולא שווה להעתיק אותו בכל קריאה.ואתם? איזה הרגל משפה קודמת הכי הפריע לכם כשעברתם ל-Go?

נכתב על ידי צוות רבוז