نشان دیپکدهدیپکده
برنامه نویسی

آموزش جامع زبان گو

علاقه‌مندان به برنامه‌نویسی و توسعه‌دهندگان مبتدی که می‌خواهند زبان 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)

منابع دوره

کتاب‌هایی که این دوره بر اساس آن‌ها طراحی شده است.

1 کتاب

سرفصل‌ها و درس‌ها

ساختار دوره را فصل به فصل مرور کن و هر ویدیو را پخش کن.

6 فصل
مفاهیم پایه، سیستم انواع و کنترل جریان5 درس
01معرفی و اهداف فصل: مفاهیم پایه، سیستم انواع و کنترل جریان
02فلسفه طراحی گو و اولین برنامه
03سیستم انواع ایستا، متغیرها و مقادیر صفر
04ساختارهای کنترلی: شرط‌ها و حلقه‌ها
05آزمون فصل ۱: مفاهیم پایه، سیستم انواع و کنترل جریان
ساختارهای داده، اسلایس‌ها و حافظه در گو6 درس
01معرفی و اهداف فصل: ساختارهای داده، اسلایس‌ها و حافظه در گو
02آرایه‌ها و ساختار درونی اسلایس‌ها
03دستکاری اسلایس‌ها و مدیریت کپی
04مپ‌ها و جداول هش در گو
05اشاره‌گرها و تخصیص حافظه
06آزمون فصل ۲: ساختارهای داده، اسلایس‌ها و حافظه در گو
توابع، مدیریت خطا و منابع5 درس
01معرفی و اهداف فصل: توابع، مدیریت خطا و منابع
02توابع، کلوژرها و توابع متغیر
03مدیریت صریح خطا و خطاهای سفارشی
04چرخه حیات با Defer، Panic و Recover
05آزمون فصل ۳: توابع، مدیریت خطا و منابع
ساختارها، ترکیب و رابط‌ها5 درس
01معرفی و اهداف فصل: ساختارها، ترکیب و رابط‌ها
02ساختارها، متدها و دریافت‌کننده‌ها
03ترکیب به جای وراثت
04رابط‌های ساختاری و تایپینگ اردکی
05آزمون فصل ۴: ساختارها، ترکیب و رابط‌ها
پکیج‌ها، کتابخانه استاندارد و تست‌نویسی در گو5 درس
01معرفی و اهداف فصل: پکیج‌ها، کتابخانه استاندارد و تست‌نویسی در گو
02پکیج‌ها، ماژول‌ها و سطح دسترسی
03قدرت کتابخانه استاندارد در گو
04تست‌های جدول-محور و سنجش کارایی
05آزمون فصل ۵: پکیج‌ها، کتابخانه استاندارد و تست‌نویسی در گو
پروژه پایانی و کدهای اصولی گو (Capstone Project & Idiomatic Go)3 درس
01معرفی و اهداف فصل: پروژه پایانی و کدهای اصولی گو (Capstone Project & Idiomatic Go)
02پروژه پایانی: سیستم مدیریت وظایف دوگانه (CLI & REST API)
03آزمون جامع پایانی: برنامه‌نویسی به زبان گو (Go Fundamentals)