Category

Go Programming

Go language tutorials, patterns, and best practices

64 posts

تسلط بر الگوهای مدیریت خطا در Go: فراتر از دستور شرطی ساده

در بسیاری از زبان‌های برنامه‌نویسی سنتی، استثناها مکانیسم قدرتمندی برای مدیریت خطاها با بازگرداندن پشته و انتقال کنترل به یک بلوک catch خاص فراهم می‌کنند. با این حال، Go رویکرد فلسفی متفاوتی دارد. این زبان مدیریت خطای صریح را از طریق بازگرداندن مقادیر خطا می‌پذیرد...

تسلط بر ژنریک‌های Go: مثال‌های کاربردی برای کد تمیزتر

معرفی ژنریک‌ها در Go 1.18 نقطه عطفی در تکامل این زبان بود. برای سال‌ها، توسعه‌دهندگان Go برای انعطاف‌پذیری نوع به رابط‌ها، بازتاب و تولید کد متکی بودند که اغلب به قیمت کدهای تکراری و عملکرد زمان اجرا تمام می‌شد. ژنریک‌ها یک مکانیسم درجه اول برای نوشتن کد ایمن از نظر نوع و قابل استفاده مجدد فراهم می‌کنند...

ساخت میکروسرویس‌های با عملکرد بالا در Go با استفاده از gRPC

در معماری سیستم‌های توزیع‌شده مدرن، عملکرد و کارایی غیرقابل مذاکره هستند. با رشد برنامه‌ها، سربار ارتباط بین سرویس‌ها می‌تواند به یک گلوگاه بزرگ تبدیل شود. اینجاست که gRPC می‌درخشد. با بهره‌گیری از پروتوباف (Protobuf) به عنوان زبان تعریف رابط (IDL) و HTTP/2 برای انتقال، gRPC یک جایگزین قوی، کارآمد و دارای نوع‌بندی دقیق در برابر REST ارائه می‌دهد.

اجرای جنریک‌ها در گو: ساخت مبدل‌های JSON ایمن از نظر نوع و ابزارهای برش سفارشی

وقتی گو ۱.۱۸ جنریک‌ها را معرفی کرد، لحظه‌ای سرنوشت‌ساز در تکامل این زبان بود. برای سال‌ها، توسعه‌دهندگان گو برای انجام عملیات عمومی به بازتاب، رابط‌ها و تولید کد متکی بودند که اغلب منجر به کدهای طولانی، مستعد خطا یا با عملکرد کاهش‌یافته می‌شد. با معرفی ...

تسلط بر جنریک‌های Go: پیاده‌سازی الگوی Repository ایمن از نظر نوع و قابل استفاده مجدد برای انتزاع پایگاه داده

از زمان معرفی Go 1.18، اکوسیستم Go تحولات چشمگیری داشته است. افزودن جنریک‌ها یکی از رایج‌ترین شکایات در توسعه Go، یعنی نیاز به کدهای تکراری برای مدیریت انواع مختلف را برطرف کرده است. برای توسعه‌دهندگان متوسط و پیشرفته، استفاده از جنریک‌ها دیگر اختیاری نیست...

تسلط بر توسعه API با REST با استفاده از فریم‌ورک Gin در Go

هنگام بحث درباره زبان برنامه‌نویسی Go برای توسعه بک‌اند، گفتگو تقریباً همیشه به عملکرد، همزمانی و بهره‌وری توسعه‌دهنده بازمی‌گردد. اگرچه کتابخانه استاندارد net/http قدرتمند و سبک است، اما رویکرد ساختاری مورد نیاز برای توسعه سریع برنامه را به صورت پیش‌فرض ندارد.

تسلط بر ترمینال: ساخت ابزارهای قدرتمند CLI با Cobra در Go

رابط‌های خط فرمان (CLI) همچنان ستون فقرات DevOps مدرن، گردش‌کارهای توسعه و مدیریت سیستم هستند. در حالی که پایتون و Node.js جایگاه خود را دارند، Go به عنوان زبان انتخابی برای ساخت ابزارهای CLI سریع، با تایپ ایستا و قابل حمل ظهور کرده است. چگونه...