דרכים לחיתוך
שיעור 5 מתוך 21 בקורס פרוסות ומפות ב-GoLang של Coddy.
בשיעורים הקודמים דנו ביסודות של חיתוך ובאופן שבו אפשר להשתמש בו כדי להקטין את הגודל של פרוסה או מערך. ציינו שהתחביר לחיתוך הוא <strong>name[start:stop]</strong>. בואו נבחן דרכים שונות שבהן אפשר להשתמש בביטוי החיתוך הזה.
לדוגמה, נבחן את הביטוי הבא:
arr := []string{"kiwi", "apple", "orange", "banana", "grape", "pineapple"}
newArr := arr[:4]המשמעות היא שאנחנו רוצים להתחיל באינדקס 0 ולהגיע עד לאיבר הרביעי:
[kiwi apple orange banana]לדוגמה, אם רואים ביטוי כמו זה:
arr := []string{"kiwi", "apple", "orange", "banana", "grape", "pineapple"}
newArr := arr[4:]המשמעות היא שאנחנו מתחילים באינדקס 4 וממשיכים עד סוף הפרוסה:
[grape pineapple]אם רואים ביטוי כמו זה:
arr := []string{"kiwi", "apple", "orange", "banana", "grape", "pineapple"}
newArr := arr[:]המשמעות היא שאנחנו מתחילים באינדקס 0 וממשיכים עד סוף הפרוסה (וכך יוצרים עותק של הפרוסה המקורית):
[kiwi apple orange banana grape pineapple]שימו לב שכאשר מבצעים חיתוך, צריך להתייחס לאורך של הפרוסה המקורית. אי אפשר להשתמש במיקום שאינו כלול בפרוסה, לדוגמה:
arr := []string{"kiwi", "apple", "orange", "banana", "grape", "pineapple"}
newArr := arr[:8]הדבר יגרום לשגיאה, מכיוון שהמיקום 8 נמצא מחוץ לקיבולת הפרוסה שלנו, ויש בה רק 7 איברים.
אתגר
קלבקוד הנתון, אנחנו מגדירים פרוסה של 8 איברים. עלינו לקבל את כל הפרוסה למעט האיבר הראשון והאחרון. הדפיסו את התוצאה למסך.
נסו בעצמכם
package main
import "fmt"
func main() {
// הגדירו פרוסה
languages := []string{"C", "C++", "Java", "Python", "JavaScript", "Ruby", "Go", "Swift"}
// חיתוך פרוסה
// הדפיסו את הפרוסה למסך
}כל השיעורים ביחידה פרוסות ומפות ב-GoLang
3מה מסתתר מאחורי ה-Slice
Slice הוא מערךיצירת Slice באמצעות makeהעתקת Sliceמחיקת איבראתגר סיכום #1אתגר סיכום #2תרגלו בעצמכם: קומפיילר Go אונליין