חיתוך Slices/מערכים קיימים
חלק מהיחידה יסודות במסלול ה-GO של Coddy. שיעור 80 מתוך 109.
אפשר ליצור פרוסה חדשה מפרוסה או ממערך קיימים באמצעות ציון טווח בתחביר [start:end].
צור פרוסה של מספרים:
numbers := []int{10, 20, 30, 40, 50}
fmt.Println("Original:", numbers)חלץ איברים מאינדקס 1 עד 3 (לא כולל 3):
slice1 := numbers[1:3]
fmt.Println("Slice [1:3]:", slice1)תוצאה:
Original: [10 20 30 40 50]
Slice [1:3]: [20 30]אפשר גם להשמיט את אינדקס ההתחלה או את אינדקס הסיום:
slice2 := numbers[:2] // מההתחלה עד לאינדקס 2 (לא כולל 2)
slice3 := numbers[3:] // מאינדקס 3 עד הסוף
fmt.Println("Slice [:2]:", slice2)
fmt.Println("Slice [3:]:", slice3)תוצאה:
Slice [:2]: [10 20]
Slice [3:]: [40 50]אתגר
מתחיליםבאתגר הזה תתרגל חיתוך של פרוסה קיימת כדי ליצור פרוסות משנה חדשות. יש לך פרוסת פירות, ועליך ליצור ממנה שתי פרוסות חדשות:
- פרוסה שמכילה רק את שלושת הפירות הראשונים
- פרוסה שמכילה רק את שני הפירות האחרונים
לאחר מכן הדפס את שתי הפרוסות החדשות כדי לוודא שהעבודה שלך תקינה.
נסו בעצמכם
package main
import "fmt"
func main() {
// הנה ה-slice המקורי שלנו של פירות
fruits := []string{"apple", "banana", "orange", "grape", "kiwi"}
// TODO: צרו slice חדש בשם 'firstThree' שמכיל רק את שלושת הפירות הראשונים
// TODO: צרו slice חדש בשם 'lastTwo' שמכיל רק את שני הפירות האחרונים
// הדפיסו את התוצאות
fmt.Println("First three fruits:", firstThree)
fmt.Println("Last two fruits:", lastTwo)
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
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 אונליין