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

مساحة العمل والـ Modules في Go

جزء من قسم Object Oriented Programming في رحلة GO على Coddy — الدرس 2 من 107.

وحدة Go (Go module) هي مجموعة من ملفات Go المرتبطة. يصرح ملف go.mod الموجود في جذر مشروعك عن اسم الوحدة وإصدار Go.

قم بتهيئة وحدة برمجية (module) باستخدام أمر الطرفية

go mod init myapp

هذا ينشئ ملف go.mod

module myapp

go 1.21

بنية مشروع بسيطة

myapp/
├── go.mod
├── main.go
└── helper.go

تشترك جميع الملفات في نفس الحزمة

// helper.go
package main

func Double(n int) int {
    return n * 2
}
// main.go
package main

import "fmt"

func main() {
    result := Double(5)
    fmt.Println(result) // الناتج: 10
}

يحدد ملف go.mod مشروعك كـ module. يمكن لجميع ملفات .go التي تعلن عن نفس الـ package الوصول إلى وظائف بعضها البعض مباشرة. يحدد اسم الـ module في go.mod مشروعك.

challenge icon

التحدي

سهل

أكمل mathhelper.go ضمن نفس الوحدة (module) والحزمة (package):

  • Double — يعيد n * 2
  • Triple — يعيد n * 3
  • Square — يعيد n * n

ورقة مرجعية

وحدة Go (Go module) هي مجموعة من ملفات Go المرتبطة التي يتم التصريح عنها بواسطة ملف go.mod في جذر المشروع.

تهيئة وحدة (module):

go mod init myapp

يؤدي هذا إلى إنشاء ملف go.mod:

module myapp

go 1.21

يمكن لجميع ملفات .go في نفس الحزمة (package) الوصول إلى وظائف (functions) بعضها البعض مباشرة:

// helper.go
package main

func Double(n int) int {
    return n * 2
}
// main.go
package main

import "fmt"

func main() {
    result := Double(5)
    fmt.Println(result) // المخرجات: 10
}

جرّب بنفسك

package main

import "fmt"

func main() {
    var n int
    fmt.Scan(&n)

    fmt.Printf("Double: %d\n", Double(n))
    fmt.Printf("Triple: %d\n", Triple(n))
    fmt.Printf("Square: %d\n", Square(n))
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Object Oriented Programming