Menu
Coddy logo textTech

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

חלק מהיחידה יסודות במסלול ה-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 אונליין