קיבולת מרבית
שיעור 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. אבל שימו לב שמיקום העצירה לא יכול להיות גדול ממיקום הקיבולת .
אתגר
קלבקוד הנתון, אנחנו מגדירים פרוסה בשם 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
3מה מסתתר מאחורי ה-Slice
Slice הוא מערךיצירת Slice באמצעות makeהעתקת Sliceמחיקת איבראתגר סיכום #1אתגר סיכום #2תרגלו בעצמכם: קומפיילר Go אונליין