Menu
Coddy logo textTech

מעבר על פרוסה

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

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

נניח שיש לנו פרוסה כזאת:

str := []string{"Python","Golang","Rust","JavaScript","Haskell"}
for i := 0; i < len(str); i++ {
   fmt.Println(i, str[i])
}

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

0 Python
1 Golang
2 Rust
3 JavaScript
4 Haskell

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

for index, value := range str {
   fmt.Println(index, value)
}

בדוגמה שלנו, <strong>range</strong> משמשת למעבר על איברי הפרוסה <strong>str</strong>, ומספקת בכל איטרציה גם את האינדקס וגם את הערך שבאינדקס הזה.

ואמורה להתקבל אותה תוצאה כמו קודם:

0 Python
1 Golang
2 Rust
3 JavaScript
4 Haskell

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

for _, value := range str {
   fmt.Println(value)
}

 

challenge icon

אתגר

קל

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

  • השתמשו במילת המפתח <strong>range</strong> כדי לעבור על הפרוסה ולבדוק כל מספר כדי לקבוע אם הוא זוגי
  • אם מספר הוא זוגי, הוסיפו אותו למשתנה שיכיל את סכום המספרים הזוגיים

נסו בעצמכם

package main

import "fmt"

func main() {
	// פרוסה של 10 מספרים. אין לשנות זאת!
	numbers := []int{45, 60, 3, 4, 5, 80, 7, 8, 9, 10}

	// אתחלו משתנה שיחזיק את סכום המספרים הזוגיים
	var sum int

	// עברו על הפרוסה

		// בדקו אם המספר זוגי
		// אם כן, הוסיפו אותו לסכום
		
	
	// הדפיסו את הסכום למסך
	fmt.Println("Sum of even numbers:", sum)
}

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

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