Menu
Coddy logo textTech

פרוסות לעומת מערכים

שיעור 2 מתוך 21 בקורס פרוסות ומפות ב-GoLang של Coddy.

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

עכשיו נבחן את ההבדל בין פרוסה למערך באמצעות דוגמה. נניח שיש לנו מערך עם שלושה איברים:

arr := [3]string{"Python", "Go", "Rust"}

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

כאן נכנסות לתמונה הפרוסות, שנועדו לתת מענה למגבלה הזאת. נבין זאת באמצעות דוגמה:

var books = []string{"SQL", "Java", "C++"}

כפי שאפשר לראות, אנחנו מגדירים את הפרוסה <strong>books</strong> באותו אופן כמו מערך רגיל, כשההבדל היחיד הוא שאיננו מגדירים את האורך.

כך אפשר להוסיף או להסיר איברים באופן דינמי בזמן הריצה — פעולה שאי אפשר לבצע עם מערכים.

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

fmt.Println(books[1]) // Java

ב-Go, פרוסות מציעות גמישות בעבודה עם אוספים, בכך שהן מאפשרות לבצע בהם שינויים דינמיים, בניגוד למערכים בעלי מבנה קבוע.

challenge icon

אתגר

קל
  • הגדר פרוסה עם הרכיבים הבאים, לפי הסדר: "Learn Go", "Learn Python", "Learn Java", "Coddy.tech".
  • הדפס למסך את "Learn Go" ואת "Coddy.tech" באמצעות אינדקסים.
  • אתה יכול לתת שם לפרוסה כרצונך.

 

נסו בעצמכם

package main

import (
	"fmt"
)

func main() {
    // הקוד שלך כאן
    
}

כל השיעורים ביחידה פרוסות ומפות ב-GoLang

תרגלו בעצמכם: קומפיילר Go אונליין