سلام دنیا! من برگشتم!
بالاخره بعد از ماه ها، سرم کمی خلوت شده. برای همین تصمیم گرفتم یه آموزش مقدماتی برای golang داشته باشم.
تو این سری آموزشی، قراره از صفر صفر golang رو یاد بگیریم و در نهایت یه پروژه ی ساده در حد یه مشاور املاک داشته باشیم.
شاید با خودتون بپرسید چرا golang؟ به دلایل زیر:
۱. Go سریع است
Go یک زبان واقعا سریعه. از اونجایی که Go به کد ماشین کامپایل میشه، به طور طبیعی اجرای اون از زبانهایی که تفسیر میشن یا دارای محیط اجرای مجازی هستن، سریعتره. برنامههای Go بسیار سریع کامپایل میشن و نتایج باینری اون بسیار سبک هستن.
۲. یادگیری آسان
سینتکس Go در مقایسه با بقیه ی زبانها ساده تره و یادگیری اون ساده است. شما میتونید بیشتر مطالب اون رو خیلی سریع یاد بگیرید و تو حافظه تون داشته باشید. از طرفی سینتکس خیلی شفاف و خوانایی داره. اگه قبلا c یا زبان مشابهی کار کردید، یادگیری go برای شما خیلی ساده تره.
۳. یک زبان Static Typing است
Go یک زبان قوی و statically typed هست. نوعهای اصلی (primitive) مثل int، byte و string تو اون وجود دارن. همچنین با داشتن structها می تونید نوع های پیشرفته تری متناسب با نیاز پروژه تون بسازید. Go همچنین نوع های از پیش ساخته شده برای listها و mapها داره و استفاده از اون ها ساده است.
۴. انواع اینترفیس
Go از اینترفیسها را پشتیبانی می کنه و هر struct میتونه به سادگی متدهای اینترفیس را پیادهسازی و از اون استفاده کنه. این امر به شما اجازه میده وابستگیها رو در کد خودتون جدا کنید و خیلی راحت وابستگیها را در تستهای خودتون بررسی کنید. با استفاده از اینترفیس میتونید کدهای ماژولارتر و قابل تست بنویسید. Go همچنین دارای توابع first-class هست که امکان نوشتن کد های کارآمدتری رو فراهم میکنه.
۵. مدل Concurrency (همزمانی) آسانتر
این چیزیه که واقعا من عاشقش هستم. هرچند برنامهنویسی همزمان به هیچ وجه ساده نیست، Go اون را نسبت به سایر زبانها آسان تر کرده. برای این کار کافیه ،goroutine را فراخوانی کنید و از طریق channel با اون ارتباط برقرار کنید.
به دلایل بالا چندین دلیل دیگه اضافه کنید! من که عاشق golang شدم. کدنویسی باهاش خیلی حس خوبی میده. پس شما هم با من همراه بشید تا یه سفر جذاب به دنیای golang داشته باشم!
تو این سفر قراره ما به دنیای golang سفر کنیم و موارد زیر رو کشف و درک کنیم و با هم یاد بگیریم.
برای دیدن بقیه ی نوشته های من می تونید به سایت من بیاید :)
لیست نوشته های این دوره: