אורך Slice לעומת קיבולת
חלק מהיחידה יסודות במסלול ה-GO של Coddy. שיעור 77 מתוך 109.
ב-Go, אורך וקיבולת הם שני מאפיינים שונים של פרוסות.
צרו פרוסה באמצעות make:
numbers := make([]int, 3, 5)
fmt.Println("Length:", len(numbers))
fmt.Println("Capacity:", cap(numbers))כך זה מוצג:
Length: 3
Capacity: 5האורך הוא מספר האיברים שנמצאים כרגע בפרוסה. הקיבולת היא המספר המרבי של איברים שהפרוסה יכולה להכיל לפני שיהיה צורך להגדיל אותה.
אתגר
מתחיליםlen() ו-cap() של פרוסה. הפונקציה len() מחזירה את מספר האיברים הנוכחי בפרוסה, ואילו cap() מחזירה את הקיבולת (המספר המרבי של איברים לפני שנדרשת הקצאה מחדש).המשימה שלך היא להשלים את הקוד כדי להדפיס הן את האורך והן את הקיבולת של הפרוסה הנתונה.
נסו בעצמכם
package main
import "fmt"
func main() {
// פרוסה עם 3 איברים אך עם קיבולת של 5
numbers := make([]int, 3, 5)
// TODO: הדפיסו את אורך הפרוסה באמצעות len()
fmt.Println("Length:", ?)
// TODO: הדפיסו את קיבולת הפרוסה באמצעות cap()
fmt.Println("Capacity:", ?)
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורי השוואה ולוגיקה
אופרטורי השוואה – חלק 1אופרטורי השוואה – חלק 2אופרטור AND לוגיאופרטור OR לוגיאופרטור NOT לוגייסודות קדימות אופרטוריםסיכום – ביצוע השוואות7זרימת בקרה: לולאות
הסבר על לולאת `for`לולאת `for` – בסיסיתלולאת `for` – תנאי בלבדמילת המפתח `break`מילת המפתח `continue`לולאות מקוננותסיכום – חזרה על פעולות2משתנים וסוגי נתונים בסיסיים
מהו משתנההסקת טיפוס באמצעות `:=`מספרים שלמים (int)מספרים בנקודה צפהערכים בוליאנייםמחרוזותערכי אפסקבועיםמוסכמות לשמותסיכום – משתנים וטיפוסים8פונקציות
הבנת פונקציותהצהרה על פונקציהקריאה לפונקציותפרמטרים של פונקציההחזרת ערך יחידהחזרת מספר ערכיםערכי החזרה בעלי שםיסודות תחום ההשפעה של פונקציהסיכום - יצירת קוד לשימוש חוזר11טיפוסים מורכבים: Slices
מבוא ל-Slicesהצהרת Literals של Sliceיצירת Slices באמצעות `make`אורך Slice לעומת קיבולתגישה לאיברים ב-Sliceהוספת איבריםחיתוך Slices/מערכים קיימיםמעבר על Slicesהעתקת Slicesסיכום – רשימות דינמיות3אופרטורים בסיסיים
אופרטורים אריתמטייםאופרטור חילוקאופרטור מודולואופרטור השמהאופרטורי השמה מורחבתהגדלה והקטנהסיכום – חישובים6זרימת בקרה: תנאים
פקודת `if`מילת המפתח `else`מילת המפתח `else if`הסתרת משתנים בתוך `if`אתחול משתניםפקודת `switch``switch` עם ביטויים`switch` ללא ביטוימילת המפתח `fallthrough`סיכום - קבלת החלטותתרגלו בעצמכם: קומפיילר Go אונליין