Menu
Coddy logo textTech

קיבולת מרבית

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

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

אנחנו יודעים שתחביר אופרטור החיתוך נראה כך: <strong>[start:stop]</strong>, אבל אפשר להוסיף לאופרטור אפשרות שלישית, כך: <strong>[start:stop:capacity]</strong>. האפשרות השלישית מאפשרת לנו להגדיר את הקיבולת המרבית של החיתוך.

לכן, באמצעות ביטוי חיתוך מלא, אפשר לחתוך חיתוך ובו בזמן להגביל את הקיבולת של החיתוך שמוחזר מביטוי החיתוך הזה.

נניח שיש לנו חיתוך כזה:

numbers := []int{1, 2, 3, 4, 5, 6}

נחתוך אותו כדי לקבל 3 איברים:

numbers := []int{1, 2, 3, 4, 5, 6}
numSlice := numbers[1:4]

אפשר לייצג זאת כך:


כאן אנחנו מקבלים 3 איברים וקיבולת של 5, בדיוק כפי שמודגם בתמונה.

כעת, אם נשתמש בקיבולת באופרטור החיתוך ונגדיר אותה, למשל, ל-3:

numbers := []int{1, 2, 3, 4, 5, 6}
numSlice := numbers[1:4:4]

חשבו על הקיבולת כמו על מיקום האיבר כאן; הגדרנו אותה ל-4. אבל שימו לב שמיקום העצירה לא יכול להיות גדול ממיקום הקיבולת .

challenge icon

אתגר

קל

בקוד הנתון, אנחנו מגדירים פרוסה בשם coddy עם 6 איברים.

  • בצעו פעולת חיתוך כדי לחלץ את האיברים "Tech" ו-"Learn Golang" מהפרוסה coddy, תוך הקפדה על כך שהקיבולת תהיה 4.

נסו בעצמכם

package main

import (
	"fmt"
)

func main() {
    // פרוסה של 6 איברים 
	coddy := []string{"Coddy","Tech","Learn Golang","Learn JavaScript","C++","C#"}
	// בצעו כאן חיתוך של הפרוסה 
	 
	// הדפיסו את האיברים למסך
	fmt.Println("Elements:" ?)
	// הדפיסו את הקיבולת
	fmt.Println("Capacity:" ?)

}

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

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