فهم برنامج Minimal Go

فهم برنامج Minimal Go

زادت شعبية Go على مر السنين. المزيد من الشركات تتبنى Go ، ويزداد تجمع المطورين مع انتشار المزيد من حالات الاستخدام للغة. يستخدمه الناس لبناء برامج تتراوح بين تطبيقات الويب السريعة وحلول blockchain وأدوات التعلم الآلي.





اجعل فيديو اليوم

يحب المطورون Go نظرًا لتعبيراته وسهولة استخدامه وأدائه اللغوي العالي. يتمتع Go بمنحنى تعليمي أسرع من معظم اللغات ذات نظام بيئي سريع النمو من الحزم والمكتبات.





الشروع في العمل مع Go

لغة البرمجة Go غير مثبت مسبقًا على نظام التشغيل Windows أو macOS أو معظم توزيعات Linux. ستحتاج إلى تثبيت Go لتشغيل برامج Go. يمكنك التحقق من المسؤول اذهب التنزيلات الصفحة لتثبيته على جهازك. ستحتاج إلى تثبيت إصدار حديث من Go لتحقيق أقصى استفادة من اللغة منذ ذلك الحين الإصدارات الأحدث لديها المزيد من الميزات والتحديثات.





بمجرد تثبيت Go ، يمكنك العمل مع اللغة ، وتنفيذ ملفات Go ، وإنشاء مساحات عمل ، وبناء مشاريع في Go.

يمكنك إنشاء ملف Go وتشغيل برامج Go باستخدام المكتبة القياسية. ومع ذلك ، إذا كنت تريد استخدام مكتبات خارجية ، فستحتاج إلى إنشاء ملف وحدات Go لإدارة التبعية وتتبع الإصدار والمزيد.



ملف وحدات Go

في Go ، الوحدة النمطية هي مجموعة من الحزم في شجرة ملفات بامتداد go.mod ملف في الجذر. يحدد هذا الملف مسار الوحدة ومسار الاستيراد ومتطلبات التبعية لعملية بناء ناجحة.

  نظرة عامة على ملف go.mod modules

يمكنك إنشاء ملف وحدات Go باستخدام مفتاح Go ضد الأمر و الحرارة أمر فرعي قبل تحديد المسار أو الدليل للمشروع.





go mod init project-directory 

يقوم الأمر بإنشاء ملف go.mod ملف. الحجة بعد الحرارة الأمر هو مسار الوحدة النمطية. يمكن أن يكون مسار الوحدة النمطية هو مسار الملف على البيئة المضيفة ، أو مسار مجال المستودع.

أين يمكنني شراء كلب بالقرب مني

عند تثبيت الحزم الخارجية والاعتماديات ، سيقوم go بتحديث ملف يتطلب إعلان في go.mod ملف للتأكد من تضمينها.





يمكنك استخدام ال مرتب الأمر الفرعي لل ضد الأمر لتنزيل جميع التبعيات المطلوبة لبرنامجك.

go mod tidy 

سيقوم الأمر بتنزيل جميع الواردات المفقودة إلى ملف الوحدات النمطية go.

كيف تجد اللوحة الأم لديك

مساحة اسم حزمة Go

ينتمي كل ملف مصدر Go إلى حزمة ، ويمكنك الوصول إلى التعليمات البرمجية داخل مساحة اسم الحزمة باستخدام معرفها.

يمكن أن يكون لديك مساحات أسماء متعددة للحزم الخاصة بك. بمجرد إنشاء مجلد ، تكون قد قمت بإنشاء مساحة اسم جديدة. يمكنك الوصول إلى مساحات الأسماء الأخرى باستخدام تدوين النقطة (.).

// folder 1  
package folder

func Folder() any {
// some function body here
return 0;
}

فيما يلي مثال على الوصول إلى مساحة اسم مختلفة من مساحة اسم أخرى.

 
// folder 2, file in different namespace
package directory

func directory() {
// accessing the Folder function from the folder namespace
folderFunc := folder.Folder()
}

يجب عليك تصدير المعرف عن طريق تكبير الاسم للوصول إلى معرف في مساحة اسم خارجية.

الوظيفة الرئيسية

ال رئيسي تعمل الوظيفة كنقطة دخول لبرامج Go. لا يمكنك تنفيذ ملف Go أو حزمة بدون الوظيفة الرئيسية. يمكنك الحصول على ملف رئيسي تعمل في أي مساحة اسم ؛ ومع ذلك ، يجب أن يكون لديك واحد فقط رئيسي تعمل في ملف أو حزمة.

هنا بسيط برنامج Hello World لإثبات رئيسي وظيفة:

package main 
import "fmt"

func main {
fmt.Println("Hello, World!")
}

يصرح هذا الرمز رئيسي تعمل في رئيسي مساحة اسم الحزمة. ثم يقوم باستيراد ملف FMT حزمة ويستخدم برنتلن طريقة لإخراج سلسلة إلى وحدة التحكم.

استيراد الحزم في Go

مقارنة بالعديد من اللغات الأخرى ، يعد استيراد الحزم والتبعيات أمرًا سهلاً. ال يستورد توفر الكلمة الأساسية وظيفة لاستيراد الحزم. يمكنك استيراد الحزم من المكتبة القياسية والاعتمادات الخارجية بامتداد يستورد كلمة رئيسية.

import "fmt" 

في المثال أعلاه ، تقوم باستيراد حزمة واحدة. يمكنك استيراد حزم متعددة. سيتعين عليك تحديد الحزم بين قوسين بعد ملف يستورد بيان.

import ( 
"fmt" // fmt for printing
"log" // log for logging
"net/http" // http for web applications
"encoding/json" // json for serializing and deserializing structs to JSON
)

إضافة أي محددات في عبارات الاستيراد غير صالحة. يمكنك إعلان اسم مخصص للاستيراد عن طريق تحديد الاسم المخصص قبل اسم الحزمة.

import ( 
"net/http"
encoder "encoding/json" // alias import here
)

هنا ، قمت باستيراد ملف json الحزمة بالاسم المخصص كـ المشفر . سيتعين عليك الوصول إلى وظائف وأنواع الحزمة بالاسم المخصص (المشفر).

تتطلب بعض الحزم استيراد عبوات أخرى للتأثيرات الجانبية. سيتعين عليك إرفاق اسم الحزمة بشرطة سفلية.

كيفية وضع البيرة المنزلية على wii
import ( 
_ "fmt" // side effects import
"log"
)

لا يمكنك الوصول إلى الحزم التي قمت باستيرادها للتأثيرات الجانبية ، ولكن يمكن أن تبعيات إذا قمت بتكوينها.

Go Run مقابل Go Build

ستستخدم ملف يجري و يبني أوامر لتجميع وتنفيذ كود Go الخاص بك. لديهم وظائف متشابهة ، وسوف تستخدمها لتنفيذ الحزم.

ال يجري الأمر هو مزيج من تعليمات التجميع والتنفيذ. ال يجري يقوم الأمر بتنفيذ الحزمة دون إنشاء أي ملفات قابلة للتنفيذ في دليل العمل. سيتعين عليك تحديد اسم ملف اسم الحزمة بعد ملف يجري يأمر.

go run file.go // executes a file 
go run packagename // executes the package

ال يبني الأمر عبارة عن أمر تجميع يقوم بتجميع حزمة أو ملف في ملف ثنائي قابل للتنفيذ.

إذا قمت بتشغيل ملف يبني الأمر بدون أي وسيطات بعد اسم الملف أو الحزمة ، سيُنشئ go ملفًا قابلاً للتنفيذ في الدليل الجذر لحزمتك.

go build main.go // compiles a file  
go build "package name" // compiles a package

سيتعين عليك إعادة ترجمة البرنامج بامتداد يبني الأمر عند تغيير الحزمة.

يمكنك تحديد دليل كوسيطة ، و يبني سيخرج الأمر الملف القابل للتنفيذ في الدليل المحدد.

go build file -o "directory" 

هناك الكثير الذي يمكنك فعله باستخدام Go

مكتبة Go القياسية قوية وبديهية. يمكنك إنشاء تطبيقات حديثة بسرعة دون الحاجة إلى تثبيت أي تبعيات خارجية.

منذ إصدار Go في عام 2009 ، استخدمه المطورون والشركات لحالات استخدام مختلفة ، في مجموعة من المجالات. يرجع نجاحها في المقام الأول إلى أن Go يوفر تركيبًا شبيهًا ببايثون جنبًا إلى جنب مع أداء يشبه C.