لأغراض قابلة لإعادة الاستخدام، تعد الحزمة بداية جيدة لإدارة رموز Go الخاصة بك لأنه يمكننا استيرادها واستخدامها في برنامجنا.
لنبدأ بإنشاء ملف رئيسي بسيط للبدء به
package main import "fmt" func main() { fmt.Println("hello world!") }
إنه برنامج helloworld بسيط يقوم بطباعة سلسلة helloworld عندما نقوم بتشغيل go run main.go .
الآن دعونا نبدأ الحزمة بإنشاء الوحدة أولاً. عادةً ما يستخدم مستودع git حتى أنه ليس لدينا خطة لدفعه إلى أي مستودع هناك. في هذا المثال سأستخدم مستودع Github الخاص بي وسأستخدم اسم الحزمة mygopackageas.
git mod init github.com/didikz/mygopackage
ثم قم بإنشاء دليل فرعي، على سبيل المثال أستخدم النماذج وأنشئ ملف user.go بداخله. يجب أن يبدو الهيكل هكذا
داخل user.go، أود ببساطة إنشاء بنية وجهاز استقبال يمكن استيرادهما لاحقًا في main.go . قمت أيضًا بتعيين اسم الحزمة بعد اسم الدليل الحالي كنماذج
package models type User struct { Id int FirstName string LastName string Address string } func (user *User) GetName() string { return user.FirstName " " user.LastName }
ارجع إلى main.go والآن يمكننا محاولة استيراد الحزمة واستخدام البنية المحددة. استخدم اسم الوحدة الذي تم إنشاؤه من قبل مع اسم الحزمة.
import "github.com/didikz/mygopackage/models"
الآن لاستخدام نموذج المستخدم من الحزمة يمكننا كتابته هكذا
var user models.User user.Id = 1 user.FirstName = "Didik" user.LastName = "Tri Susanto" user.Address = "Malang" // or alternatively user := models.User{Id: 1, FirstName: "Didik", LastName: "Tri Susanto", Address: "Malang"} fmt.Println(user.GetName())
كل شيء جاهز. بعد ذلك، إذا قمنا بتشغيل go run main.go، فيجب طباعة ملف Didik Tri Susanto
سهل أليس كذلك؟
يجب أن يكون ملف main.go النهائي الآن بهذا الشكل
package main import ( "fmt" "github.com/didikz/mygopackage/models" ) func main() { user := models.User{Id: 1, FirstName: "Didik", LastName: "Tri Susanto", Address: "Malang"} fmt.Println(user.GetName()) }
هذا كل شيء، والبرمجة سعيدة!
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3