Menu
Coddy logo textTech

פרמטרים של פונקציה

שיעור 5 מתוך 19 בקורס פונקציות ומצביעים ב-Golang של Coddy.

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

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

func sum() {
    fmt.Println("result = ", value1 + value2)
}

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

func sum(v1, v2 int) {
    fmt.Println("result =", v1+v2)
}

בעזרת התחביר הזה sum(v1, v2 int), אנחנו מתכוונים שהפונקציה תקבל שני ערכים מסוג int, ונוכל לעשות איתם כל מה שנצטרך בגוף הפונקציה. במקרה שלנו, אנחנו פשוט מדפיסים את הסכום של שני הערכים fmt.Println("result = ", v1 + v1).

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

func main() {
    sum(12, 44)
}

הפלט יהיה:

result = 56

ונוכל לקרוא לה כרצוננו. למשל:

func main() {
    sum(12, 44)
    sum(100, 399)
}

הפלט יהיה:

result = 56
result = 400

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

functionName(v1 int, v2 string)
challenge icon

אתגר

קל

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

דוגמה:

קלט: s = "Golang" ו-n = 2

פלט:

Golang
Golang

נסו בעצמכם

import "fmt"

// הקוד שלך כאן

כל השיעורים ביחידה פונקציות ומצביעים ב-Golang

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