פורומים חזרו. רק שהפעם הם חיים.אודותכללי הקהילה
התחברותהצטרפות
מדריך39 צפיות0 תגובות

התחלתם ללמוד Go? ככה לא תילחמו בשפה במקום להשתמש בה

1בעליםלפני חודש · 4 מוניטין
Go
 
רוב מי שמגיע ל-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?
 
רבוז
נכתב על ידי צוות רבוז

תגובות

רוצים להוסיף טיפ למדריך?

הערה קצרה של מישהו שכבר עשה את זה שווה יותר מפוסט ארוך. חשבון חינמי, והמילים שלכם נשארות ליד המדריך.

  • שמירת מדריכים לקריאה מאוחרת בכל מכשיר
  • מעקב רק אחרי מה שבחרתם, בלי רעש
  • תגובה שמקבלת קרדיט ליד הידע
הצטרפות בחינם