بعد استخدام بايثون 5 سنوات، والتفت إلى العودة

أنا مثل بايثون، في السنوات الخمس الماضية، فقد كان لغتي المفضلة. بيثون ودية للغاية وسهلة التعلم، حتى الآن لا يزال فائقة فعالة.

نحن يمكن استخدامه في كل شيء تقريبا - من إنشاء البرامج النصية البسيطة، وتطوير الشبكة، والتصور البيانات وتعلم الآلة.

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

وهذه المادة لا يناقش لغة البرمجة هي أفضل - بيثون، أو العودة، هناك العديد من المشاركات حول هذا الموضوع ومقارنة الشبكة، ويبدو لي الفرق يعتمد إلى حد كبير على حالة الاستخدام.

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

نص

الاختلافات الرئيسية اجه

وبطبيعة الحال، كخطوة أولى، أنا تصفحها المسؤول مذهلة "جولة من العودة"، الذي أعطى بالتأكيد لي أساس متين من المعرفة حول العودة النحوي.

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

اعتدت على استخدام وظائف يشيع استخدامها في بيثون، مثل JSON التسلسل أو HTTP المكالمات، ومحاولة كتابتها في العودة.

من خلال مفهوم مماثل في تطبيق العودة في بيثون، ولا تزال تحافظ على ميزات اللغة ثابتة، التقيت بعض الاختلافات الرئيسية بين العودة وبايثون.

تخطيط المشروع

أولا وقبل كل شيء، بيثون عادة لا تتطلب التسلسل الهرمي دليل معين، على العكس من ذلك، مطلوب العودة.

العودة استخدام تخطيط "قياسي"، مما يجعل من قليلا أكثر تعقيدا من بيثون، جلب المزيد من العمل، ولكن الفوائد هي رمز قاعدة جيدة التنظيم، وتشجع كود حدات، في توسيع نطاق المشروع يمكن بقاء المنظمة.

المادة الرسمية "كيفية كتابة كود العودة" قد يفسر الفصل كيفية بناء منطقة عمل واضحة.

ساكنة والكتابة قوية

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

مما لا شك فيه، ولغة ديناميكية أكثر عرضة للخطأ، وأنه يأخذ المزيد من الجهد لإدخال التحقق من صحة لمنع أو حل الأخطاء النحوية الشائعة. أعتقد بحساب عددين مبلغ من الوظائف، لا يمكننا أن نضمن أن المستخدم لا في الواقع سلسلة تمريرها إلى الدالة عند استخدامه - وهذا يؤدي إلى TypeError.

هذا الوضع ذلك لن يحدث في العودة، لأن الحاجة للإعلان عن نوع لكل متغير، يمكن الدالة على ما نوع المتغير، وظيفة ونوع من عوائد متغيرة.

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

بالتزامن الأصلي

العودة goroutines استخدام وقنوات دعم أصلي المتزامنة، الآن حقا سهلة.

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

إيفان Daniluk goroutines والقنوات لتصور بسيط:

نسخ رمز

حزمة الرئيسي ظائفها الرئيسية () { // إنشاء قناة جديدة من نوع int الفصل: = جعل (تشان الباحث) // بدء goroutine مجهول جديد الذهاب ظائفها () { // إرسال 42 إلى قناة الفصل < - 42 } () // قراءة من قناة < -CH }

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

استخدام JSON

الذهاب إلى هناك، لم يعد json.loads استخداما (). في بيثون، إلغاء تسلسل كائن JSON بسيط جدا، ومجرد استخدام يمكن json.loads! ولكن في العودة، كلغة كتابة بشكل ثابت، قد يكون أكثر صعوبة هذه العملية بسيطة.

في العودة، JSON يمكن حلها في هيكل محدد مسبقا. أي حقل غير مناسب للهيكل يتم تجاهل، وهذا أمر جيد، ويمكن استخدامه بمثابة اتفاق محددة مسبقا بين الطرفين. لا حاجة الى الشعور "مندهش" من قبل البيانات الواردة في JSON، JSON وأنواع الحقول تتطلب موافقة الطرفين ".

نسخ رمز

{ "أولا": "العاد"، "آخر": "Leev" "الموقع": "IL" "إيد": "93" }

نسخ رمز

اكتب AccountData البنية { string`json الأولى: "لأول مرة" ` string`json مشاركة: "آخر" ` موقع string`json: "موقع" ` ID string`json: "المعرف" ` }

بالطبع، لا يزال بإمكانك إلغاء تسلسل القضية في غياب JSON الهيكلي، ولكن ينبغي تجنبها إذا أمكن القيام بذلك، تبقى طبيعة ثابتة للغة هو دائما الخيار الأفضل.

الذهاب من أجل فهم أفضل لكيفية كتابة JSON، يمكنك عرض هذه المادة أو "العودة حسب المثال"، وهذا هو يمكن الاطلاع على ورقة الغش في نهاية المطاف من الموارد.

إذا كنت كسولا جدا وليس محاولة لتحويل بنية JSON العودة؟ لا مشكلة - يمكن لهذه الأداة تساعدك.

كود نظيفة

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

إذا كنت لا تبالي متغير الذي؟ لا مشكلة! استخدام عادل _ (تسطير) وإسناد ذلك إلى معرف فارغ يمكن أن يكون.

العودة يحتوي على المعلومات شكل وثيقة بد من قراءة هو "فعالة العودة".

العثور على المكتبات والأطر الصحيحة

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

وهنا بعض التفضيلات الشخصية:

طلبات الثعبان  = > صافي / HTTP

المدمج صافي / HTTP يوفر عميل HTTP والخادم، وحققت سهولة فائقة في الاستخدام وجيدة جدا.

قارورة + Jinja2  = >  شرك

الجن هو إطار الويب HTTP، لديه API بسيط جدا - معلمات مسار، تحميل الملفات، وعلبة التوجيه (/ المعهد / V1، / المعهد / V2)، شكل سجل مخصصة، وتوفير الملفات الثابتة، HTML التقديم، والتخصيص قوية الحقيقي الوسيطة. وهنا إشارة مرجعية.

CLI الخلق = >  كوبرا

مكتبة كوبرا يمكن استخدامها لإنشاء تطبيقات CLI قوية، ولكنها توفر أيضا إجراءات لتوليد التطبيقات والملفات الأوامر. وتستخدم العديد من المشاريع على نطاق واسع العودة استخدام كوبرا المبنية، بما في ذلك Kubernetes، etcd وOpenShift.

ينصح بشدة بعض مكتبات إضافية هي: الافعى، وقائمة كبيرة من Gonfig - أوسم-العودة.

الموارد الأخرى

الذهاب في رحلتي، وهنا لعبت بعض المصادر المفيدة دورا هاما:

فرانسيسك Campoy - مؤكد لننظر له قناة يوتيوب و ملفه الشخصي جيثب. كما نظمت فرانسيسك بعض الندوات كبيرة - - العودة الأدوات في عمل وتطبيقات ويب ورشة عمل.

GopherCon الفيديو

أمثلة العودة الويب

العديد من حساب تويتر: Golang أسبوعي، أكاديمية غوفر، Golang الأخبار.

ملخص

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

حاليا على العودة لحظات مثيرة لتشجيع الجميع على التعلم وتصبح غفر!

الرابط الأصلي: https://medium.com/appsflyer/my-journey-from-python-to-go-3859783c6b3c

بني تشياو ولد في 2018 للمشاركة في موجة الماضي ورق الجدران

المضيف CCTV تشو شيون ابنه البالغ من العمر 15 عاما، تعرض صورة نادرة العضو: لحسن الحظ، تبدو مثل أمي

"الغذاء البريطانية كيف الظلام - II" النظر في النجوم التحدي الكبير

3DS "شعار النار أصداء آخر بطل الملك" النسخة الصينية صدر

انقطاع خدمة واسعة النطاق تينسنت: قسم فشل مشغلي شبكات الألياف شنغهاي

$ 299 المختارة بعناية نيتياس VS 900 الأجناس يوان | لأول مرة على الانترنت مع نظارات

عقدت تشييانغ مقاطعة 2019 مهرجان الربيع غالا

"عالية اللعب لإنقاذ المستقبل" هو من النوع دراما السحر

هجوم على النظام توصية: التعلم متعدد الأهداف وكيفية السماح للمستخدمين معرفة ما يقرب من التفاعل زيادة بنسبة 100؟

"EXO" "الأخبار" هو محيط النووي قوية جدا 190401 هذا! بطاقة الائتمان SM مصدر الصورة الرمزية للعضو EXO

الليثيوم أسبوعي أخبار: بطارية حالة قياس قدرة مؤخرا سيتم تخفيض عتبة المنشورة أو

"خارق"، و "فلاش" كان الموسم الجديد المقرر مع "السهم الأخضر" و 10 حلقة