آموزش جامع زبان گو
علاقهمندان به برنامهنویسی و توسعهدهندگان مبتدی که میخواهند زبان Go را از سطح صفر با مفاهیم استاندارد و کدهای عملی فرا بگیرند.
درباره دوره
معرفی دوره
چرا غولهای فناوری نظیر گوگل، اوبر، دراپباکس و داکر زبان Go (Golang) را به عنوان زبان اصلی زیرساختهای خود انتخاب کردهاند؟ پاسخ در سه کلمه خلاصه میشود: سادگی، کارایی و شفافیت. زبان Go با حذف پیچیدگیهای غیرضروری و تمرکز بر کدهای صریح، امکان ساخت نرمافزارهایی فوقالعاده سریع، مطمئن و مقیاسپذیر را فراهم میآورد.
در این دوره که بر اساس کتاب مرجع Introducing Go اثر کیلب داکسی طراحی شده است، زبان Go را از الفبا تا ساخت برنامههای کاربردی واقعی با صدها خط کد نمونه، کالبدشکافی لایههای زیرین حافظه، سناریوهای ملموس و چالشهای تعاملی پلتفرم دیپ یار فرا میگیرید. برخلاف آموزشهای سطحی، در این دوره یاد میگیرید چگونه «به سبک گو (Idiomatic Go)» فکر و کدنویسی کنید.
سرفصلهای دوره:
- فصل ۱ — مبانی، سیستم انواع و کنترل جریان: فلسفه سادگی گو، پکیج main، سیستم انواع ایستا، استنتاج نوع با
:=، مقادیر صفر مفید (Zero Values) و ساختارهای کنترلی (for,if,switch). - فصل ۲ — ساختارهای داده پویا و مدیریت حافظه: تفاوت آرایه و اسلایس، هدر اسلایس و ظرفیت، کار با مپها، و کالبدشکافی اشارهگرها (Pointers) در Stack و Heap.
- فصل ۳ — توابع، مدیریت خطای صریح و کنترل منابع: توابع چندمقداره، بستارها (Closures)، مدیریت خطای صریح
(val, err)، و مدیریت تمیز منابع باdefer,panic,recover. - فصل ۴ — استراکتها، ترکیب و اینترفیسهای ساختاری: تعریف Structs، گیرندههای مقداری و اشارهگری متدها، اصل ترکیب به جای وراثت (Embedded Structs) و اینترفیسهای ساختاری پویا.
- فصل ۵ — پکیجها، کتابخانه استاندارد و تستنویسی: ماژولهای
go.mod، پکیجهای هسته استاندارد (os,io,net/http,json) و نوشتن تستهای استاندارد و جدولمحور (Table-Driven Tests). - فصل ۶ — پروژه نهایی و نگارش کدهای Idiomatic: پیادهسازی صفر تا صد یک سامانه جامع مدیریت وظایف (Task Manager) در قالب CLI و REST API با اینترفیسهای تمیز + آزمون جامع پایانی.
اهداف و دستاوردهای یادگیری:
- تسلط کامل بر گرامر، سیستم انواع ایستا (Static Types)، استنتاج نوع و ساختارهای کنترلی زبان Go
- درک عمیق ساختار داخلی اسلایسها (Slices)، آرایهها، مپها و مدیریت بهینه حافظه با اشارهگرها (Pointers)
- پیادهسازی توابع پیشرفته، بستارها (Closures)، مدیریت خطای صریح و آزادسازی منابع با سهگانه defer, panic, recover
- مدلسازی شیءگرایی ساختاری با Structs، گیرندههای متد (Receivers)، ترکیب به جای وراثت، و اینترفیسهای ساختاری (Interfaces)
- ماژولاربندی پروژهها با Go Modules، استفاده از پکیجهای کلیدی کتابخانه استاندارد (io, os, net/http, json) و تستنویسی جدولمحور (Table-Driven Tests)
- توسعه یک پروژه عملی کامل (CLI Task Manager و وبسرور RESTful) با رعایت تمام اصول کدهای تمیز و اصیل (Idiomatic Go)
منابع دوره
کتابهایی که این دوره بر اساس آنها طراحی شده است.
سرفصلها و درسها
ساختار دوره را فصل به فصل مرور کن و هر ویدیو را پخش کن.