آموزش golang – قدم اول:‌ گو چیه؟

سلام دنیا! من برگشتم!بالاخره بعد از ماه ها، سرم کمی خلوت شده. برای همین تصمیم گرفتم یه آموزش مقدماتی برای 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 سفر کنیم و موارد زیر رو کشف و درک کنیم و با هم یاد بگیریم.نصب golang در سیستم عامل های ویندوز و لینوکسساختار برنامه در golang نوشتن اولین برنامه (Hello World معروف!)متغیرها و انواع دادهبررسی عملگرها و کنترلرهابررسی آرایه ها و اسلایس هاکار با رشته هاپوینترهامتودها ایجاد یک برنامه تحت وب سادهبرای دیدن بقیه ی نوشته های من می تونید به سایت من بیاید :)لیست نوشته های این دوره: https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%85%D9%82%D8%AF%D9%85%D8%A7%D8%AA%DB%8C-golang-%D8%A8%D8%AE%D8%B4-%D8%AF%D9%88%D9%85-wyvs1idjyan2 https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%D8%B3%D9%88%D9%85-e3mxmjr1mp74 https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%DA%86%D9%87%D8%A7%D8%B1%D9%85-ydltpxgtgdlj https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%D9%BE%D9%86%D8%AC%D9%85-regehw9odr8y https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%D8%B4%D8%B4%D9%85-k6cpaqgybxz2 https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%D9%87%D9%81%D8%AA%D9%85-jf9cn4h6fgri https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%D9%87%D9%81%D8%AA%D9%85-%D9%85%D8%AA%D8%BA%DB%8C%D8%B1%D9%87%D8%A7-%D9%88-constant-oqvlbp5q2hg6 https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%D9%86%D9%87%D9%85-%D8%AA%D8%A7%D8%A8%D8%B9-nat6a2yfyqe3