مقدمة في المكتبة القياسية Go
عند كتابة هذا المقال، وصل إصدار Go إلى 1.21، وقد مر ما يقارب عام على إنشاء هذا الموقع.
المكتبة القياسية للغة Go غنية جداً (باستثناء هياكل البيانات)، ووظائفها قوية جداً، وواجهة برمجة التطبيقات سهلة الاستخدام للمطورين، والقدرة على استخدام المكتبة القياسية بمهارة ستساعد كثيراً في التطوير اليومي. على سبيل المثال، يمكنك تطوير مشروع ويب مستقل وكامل دون استخدام أي تبعيات خارجية، باستخدام المكتبات الثلاث net/http، html/template، database/sql فقط.
لم يتم تحديث محتوى المكتبة القياسية لأن محتوى المكتبة القياسية كثير جداً، لذا سيتم تلخيص وظائف بعض المكتبات القياسية الشائعة الاستخدام باختصار أدناه، حتى يمكنك اختيار ما يعجبك للتعرف عليه، وسيشرح تعليق كل حزمة من حزم المكتبة القياسية بالتفصيل ما تفعله هذه الحزمة.
fmt، حزمة لمعالجة الإدخال والإخراج المنسقhtml، حزمة عمليات قوالب htmlnet، توفر سلسلة من حزم العمليات الشبكية، قوية جداًflag، حزمة تحليل معاملات سطر الأوامرreflect، حزمة عمليات الانعكاسlog، حزمة السجلات المدمجةsort، حزمة عمليات الترتيبregex، حزمة التعبيرات النمطيةimage، حزمة عمليات الصورtime، حزمة عمليات الوقتunicode، حزمة عمليات مجموعة أحرف unicodeunsafe، توفر عمليات مؤشر بدون قيود النوعsyscall، حزمة استدعاءات النظام التي يوفرها نظام التشغيلtesting، حزمة الاختبار، تُستخدم أساساً عند كتابة الاختبارات.sync، حزمة العمليات المتزامنةcontext، حزمة السياقstrconv، حزمة تحويل السلاسلstrings، حزمة عمليات السلاسلbytes، حزمة عمليات شرائح البايتmaps، حزمة عمليات mapslices، حزمة عمليات الشرائحio، تُعرّف سلسلة من واجهات الإدخال/الإخراج الأساسية، مثلCloser،Writerالشائعة، وبعض دوال الإدخال/الإخراج الأساسية.io/fs، تُعرّف سلسلة من واجهات نظام الملفات، وتُعتبر تجريداً لنظام الملفات.os، حزمة التفاعل مع نظام التشغيل، توفر سلسلة من الدوال المحددة، يمكن فهمها ببساطة على أنها التنفيذ المحدد للاثنين أعلاه.os/signal، حزمة إشارات نظام التشغيل، للاستماع إلى إشارات نظام التشغيل، تُستخدم أساساً لتنفيذ الإغلاق الأنيق للبرنامج.os/exec، حزمة أوامر نظام التشغيل، لتنفيذ أوامر نظام التشغيل.os/user، حزمة مستخدم نظام التشغيل، للحصول على معلومات مستخدم نظام التشغيل.bufio، حزمة القراءة والكتابة بالتخزين المؤقت للإدخال/الإخراج.path، حزمة معالجة المسارات المفصولة بالشرطة المائلة، مثل url وغيرها.path/filepath، حزمة معالجة مسارات الملفات.math، حزمة العمليات الرياضيةmath/bits، حزمة عمليات البتmath/cmplx، حزمة العمليات على الأعداد المركبة، وتوفر أيضاً بعض دوال الأدوات للدوال المثلثية.math/rand، حزمة الأرقام العشوائية الزائفةmath/big، حزمة الحساب عالي الدقة للأعداد الكبيرةcontainer/heap، تنفيذ الكومة الدنياcontainer/list، تنفيذ القائمة المترابطة ثنائية الاتجاهcontainer/ring، تنفيذ الحلقةarchive/zip، حزمة أرشيف الضغط ziparchive/tar، حزمة ملفات الأرشيف tarcompress، حزمة تنفيذ خوارزميات الضغط، مثل gzip، flate.database/sql، حزمة التفاعل مع قواعد البياناتencoding، حزمة معالجة الترميز، وتحتوي على العديد من الحزم الفرعية، مثلjson،xml، وكذلكbase64.crypto، حزمة معالجة التشفير، وتحتوي على العديد من الحزم الفرعية، مثل sha1، rsa وغيرهاgo/ast، حزمة تخطيط شجرة الصيغة المجردة للكود المصدري Gogo/parser، حزمة تحليل الكود المصدري Go إلى شجرة صيغة مجردةgo/importer، توفر الوصول إلى المستوردgo/format، حزمة تنسيق لغة Goareana، توفر وظيفة تخصيص وتحرير الذاكرة يدوياً، في مرحلة تجريبيةruntime، حزمة عمليات وقت التشغيل، العديد من العمليات في Go تُنفذ بواسطة هذه الحزمة.
