Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

الـ Packages والـ Imports

جزء من قسم البرمجة كائنية التوجه في رحلة GO على Coddy. الدرس 3 من 107.

يبدأ كل ملف Go بإعلان package. تجلب الكلمة المفتاحية import الحزم من مكتبة Go القياسية، حتى تتمكن من استخدام وظائفها.

استيراد حزمة واحدة

import "fmt"

استيراد حزم متعددة باستخدام كتلة import

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 عبر الإنترنت