Menu
Coddy logo textTech

הוספת איבר לפרוסה

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

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

לדוגמה, אם נגדיר פרוסה כך:

nums := []int{23, 5, 6}

בפרוסה שלנו יש שלושה איברים, ובדיקת האורך באמצעות הפונקציה <strong>len()</strong> מחזירה 3:

nums := []int{23, 5, 6}
fmt.Println(len(nums)) // 3

אם נוסיף איברים לפרוסה ונבדוק את הגודל, נקבל את הגודל החדש:

nums := []int{23, 5, 6, 9, 22}
fmt.Println(len(nums)) // 5

לעומת זאת, למערך יש גודל קבוע. לדוגמה:

nums := [4]int{23}
fmt.Println(len(nums)) // 4

אף שיש בו פחות מ-4 איברים, האורך נשאר קבוע.

מוסיפים איברים לפרוסה באמצעות <strong>append</strong>:

books := []string{"Python", "Rust"}
books = append(books, "Golang")
fmt.Println(books)

הרצת הקוד מחזירה:

[Python Rust Golang]

ב-Golang, פרוסות מגיעות עם פונקציות מובנות, ו-<strong>append()</strong> היא אחת מהן, ומאפשרת לנו להוסיף איברים חדשים לפרוסה קיימת.

שימו לב שבגלל הגודל הדינמי של פרוסות, אי אפשר להשתמש באינדקס כדי להוסיף איברים (הפקודה <strong>books[2] = "Golang"</strong> לא תעבוד).

challenge icon

אתגר

קל

כתוב תוכנית שמקבלת 3 קלטים מהמשתמש ומוסיפה אותם לפרוסה בשם <strong>coddy</strong> כפי שהיא מוגדרת בקוד הנתון. בצע את השלבים הבאים:

  1. הדפס את האורך של הפרוסה לפני הוספת איברים.
  2. הוסף איברים לפרוסה.
  3. הדפס את הפרוסה ואת האורך המעודכן לאחר הוספת האיברים (בשורות נפרדות).

נסו בעצמכם

package main

import "fmt"

func main() {
    // קבלו את הקלט מהמשתמש. אל תשנו את זה!
    var first, second, third string
	fmt.Scan(&first)
	fmt.Scan(&second)
	fmt.Scan(&third)
	// הגדירו את ה-Slice
    coddy := []string {"SQL","Rust","C#","Golang"}
    // הדפיסו את האורך
    
    // הוסיפו איבר ל-Slice
    
    // הדפיסו את ה-slice ואת האורך המעודכן

}

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

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