חיתוך
שיעור 4 מתוך 21 בקורס פרוסות ומפות ב-GoLang של Coddy.
בואו נעמיק במושג החיתוך ונדון בביטוי חיתוך. חיתוך פירושו לקחת מערך או פרוסה מקוריים ולצמצם אותם. כדי להבין זאת טוב יותר, נעבור על כמה דוגמאות.
נניח שיש לנו פרוסה כזאת ב-Go:
arr := []string{"code", "coffee", "tea", "water"}כעת, נניח שאנחנו מעוניינים לקבל מהפרוסה הזאת רק את "code" ואת "coffee". נוכל לעשות זאת באמצעות חיתוך, כפי שמוצג בהמשך:
newArr := arr[0:2]תחביר החיתוך הוא כך: <strong>arr[start:stop]</strong>. מציינים את שם הפרוסה או המערך שרוצים לצמצם, ובתוך סוגריים מרובעים מציינים את מיקום ההתחלה, אחריו נקודתיים ואז את מיקום הסיום.
מיקום ההתחלה צריך להיות האינדקס של איבר בתוך הפרוסה, החל מ-zero.
מיקום הסיום מציין את מיקום האיבר, ולא את האינדקס, ולכן הוא מתחיל מ-1.
בדוגמה שלנו, אנחנו מתחילים באינדקס 0 ומחזירים 2 איברים, כפי שמצוין ב-<strong>arr[0:2]</strong>. אם מיקום ההתחלה הוא 0, אפשר להשמיט אותו ולקבל את אותה תוצאה:
arr[:2]כך מתקבלים מהפרוסה האיברים "code" ו-"coffee".
אפשר להתחיל ולסיים את החיתוך כרצוננו. לדוגמה, אם נרצה לקבל מהפרוסה את "coffee" ואת "tea", נוכל לעשות זאת כך:
arr := []string{"code", "coffee", "tea", "water"}
newArr := arr[1:3]
אתגר
קלבקוד הנתון, אנחנו מגדירים פרוסה של 6 איברים מסוג מחרוזת. השתמשו בחיתוך כדי לשלוף את הערכים <strong>"apple"</strong> ,<strong>"orange"</strong> ו־<strong>"banana"</strong> מהפרוסה המקורית ולהדפיס אותם למסך.
נסו בעצמכם
package main
import "fmt"
func main() {
// הפרוסה fruits — אל תשנו אותה!
fruits := []string{"pineapple", "kiwi", "apple", "orange", "banana", "grape", "kiwi"}
// חיתוך הפרוסה fruits
// הדפיסו את הפרוסה למסך
}כל השיעורים ביחידה פרוסות ומפות ב-GoLang
3מה מסתתר מאחורי ה-Slice
Slice הוא מערךיצירת Slice באמצעות makeהעתקת Sliceמחיקת איבראתגר סיכום #1אתגר סיכום #2תרגלו בעצמכם: קומפיילר Go אונליין