Menu
Coddy logo textTech

חבילות וייבוא

חלק מהיחידה תכנות מונחה עצמים במסלול ה-GO של Coddy. שיעור 3 מתוך 107.

כל קובץ Go מתחיל בהצהרת package. מילת המפתח import מייבאת חבילות מהספרייה הסטנדרטית של Go, כדי שתוכלו להשתמש בפונקציות שלהן.

ייבוא חבילה יחידה

import "fmt"

ייבוא של כמה חבילות באמצעות בלוק ייבוא

import (
    "fmt"
    "math"
    "strings"
)

השתמשו בפונקציות מחבילות מיובאות עם שם החבילה כתחילית

package main

import (
    "fmt"
    "strings"
    "math"
)

func main() {
    upper := strings.ToUpper("hello")
    fmt.Println(upper) // פלט: HELLO

    root := math.Sqrt(16)
    fmt.Println(root) // פלט: 4
}

חבילות נפוצות מהספרייה הסטנדרטית

"fmt"     // קלט/פלט מעוצב (Print, Scan, Sprintf)
"strings" // עיבוד מחרוזות (ToUpper, Contains, Replace)
"math"    // פונקציות מתמטיות (Sqrt, Pow, Pi)
"strconv" // המרות מחרוזות (Itoa, Atoi)

ניגשים לפונקציות מתוך חבילה באמצעות packagename.FunctionName. Go מאפשרת לייבא רק חבילות שבהן משתמשים בפועל: ייבוא שאינו בשימוש גורם לשגיאת קומפילציה.

challenge icon

אתגר

בינוני

תקן את הצהרת הייבוא ב-utils.go כדי שהפונקציות יעבדו כראוי. עליך לייבא את החבילות strings ו-math:

  • FormatText משתמשת ב-strings.ToUpper
  • ContainsWord משתמשת ב-strings.Contains
  • SquareRoot משתמשת ב-math.Sqrt

נסו בעצמכם

package main

import (
    "bufio"
    "fmt"
    "os"
    "strconv"
    "strings"
)

func main() {
    scanner := bufio.NewScanner(os.Stdin)
    scanner.Scan()
    line := scanner.Text()

    parts := strings.Fields(line)
    numStr := parts[len(parts)-1]
    text := strings.Join(parts[:len(parts)-1], " ")
    num, _ := strconv.ParseFloat(numStr, 64)

    fmt.Printf("Upper: %s\n", FormatText(text))
    fmt.Printf("Contains 'world': %t\n", ContainsWord(text, "world"))
    fmt.Printf("Sqrt: %.2f\n", SquareRoot(num))
}
quiz iconבחנו את עצמכם

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

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

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