Menu
CoddyTech

החזרת מספר ערכים

חלק מהיחידה יסודות במסלול ה-GO של Coddy. שיעור 56 מתוך 109.

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

צרו פונקציה שמחזירה גם מנה וגם שארית:

func divide(a, b int) (int, int) {
    quotient := a / b
    remainder := a % b
    return quotient, remainder
}

func main() {
    q, r := divide(7, 3)
    fmt.Println("7 ÷ 3 =", q, "with remainder", r)
}

כשמריצים את התוכנית הזו, הפלט הוא:

7 ÷ 3 = 2 with remainder 1

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

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

q, _ := divide(7, 3)  // התעלם מהשארית
fmt.Println("Quotient:", q)

השימוש ב־_ אומר ל־Go להתעלם מערך ההחזרה הזה. הדבר נדרש כשלא משתמשים בערך, מכיוון ש־Go אינה מאפשרת משתנים שאינם בשימוש.

challenge icon

אתגר

מתחילים

באתגר הזה תתרגלו החזרה של כמה ערכים מפונקציה ב-Go.

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

נסו בעצמכם

package main

import "fmt"

// הפונקציה הזו צריכה להחזיר שלושה ערכים: name, age ו-isStudent
func getPersonInfo() (string, int, bool) {
	// המשתנים כבר הוגדרו עבורכם
	name := "Alex"
	age := 25
	isStudent := true
	
	// TODO: החזירו את כל שלושת הערכים (name, age, isStudent)
	
}

func main() {
	// קראו לפונקציה ושמרו את הערכים שהוחזרו
	name, age, isStudent := getPersonInfo()
	
	// הדפיסו את הערכים
	fmt.Printf("Name: %s\n", name)
	fmt.Printf("Age: %d\n", age)
	fmt.Printf("Is Student: %t\n", isStudent)
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

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