آموزش جامع زبان Go (GoLang) - از صفر تا صد - آخرین آپدیت

دانلود Go - Complete Course on Go (GoLang)

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: زبان برنامه‌نویسی Go را از پایه بیاموزید: متغیرها، توابع، استراکت‌ها (structs)، مپ‌ها (maps)، اینترفیس‌ها، گوروتین‌ها (goroutines) و مدیریت خطاها. یاد بگیرید چگونه Go را نصب کنید، محیط VS Code را آماده سازید و اولین برنامه‌های خود را مطابق با استانداردهای Go بنویسید و کامپایل کنید. مفاهیم متغیرها، ثابت‌ها و انواع داده را درک کنید؛ کار با Printf، تایپینگ استاتیک و مقادیر پیش‌فرض را بیاموزید. در تسلط بر توابع، آرایه‌ها، اسلایس‌ها، مپ‌ها، استراکت‌ها، اینترفیس‌ها و اشاره‌گرها (pointers) از جمله Closureها، متدها و ارسال با ارجاع متخصص شوید. نحوه مدیریت خطاها، استفاده از panic و recover و نوشتن کدهای همزمان (Concurrent) با استفاده از گوروتین‌ها، کانال‌ها و Wait Groupها را بیاموزید. پیش نیازها: دانش پایه کار با کامپیوتر، نصب نرم‌افزار و آشنایی با سیستم فایل اشتیاق به یادگیری یک زبان برنامه‌نویسی مدرن و پیاده‌سازی آن با مثال‌های کاربردی بدون نیاز به تجربه قبلی در برنامه‌نویسی - همه موارد از صفر توضیح داده شده است

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


ما با نصب Go و راه‌اندازی محیط توسعه در Visual Studio Code شروع می‌کنیم. شما یاد می‌گیرید چگونه با پکیج‌ها کار کنید، برنامه‌های پایه بنویسید و کد خود را کامپایل و فرمت کنید. سپس وارد مباحث متغیرها، انواع پایه، ثابت‌ها و توابع از جمله Closureها و مقادیر بازگشتی نام‌گذاری شده می‌شویم.


در ادامه، اشاره‌گرها، آرایه‌ها، اسلایس‌ها، دستورات شرطی و حلقه‌ها را بررسی خواهید کرد. با ورود به مباحث پیشرفته‌تر، نحوه کار با مپ‌ها و استراکت‌ها و تفاوت‌های آن‌ها را می‌آموزید. توجه ویژه‌ای به اینترفیس‌ها و نحوه پیاده‌سازی آن‌ها شده است - مفهومی حیاتی که Go را به زبانی قدرتمند برای توسعه تبدیل می‌کند.


بخش بزرگی از دوره بر مدیریت خطا متمرکز است: از بررسی‌های ساده خطا تا استفاده پیشرفته از panic، recover و ایجاد انواع خطاهای سفارشی. در نهایت با نگاهی عمیق به گوروتین‌ها، کانال‌ها و همگام‌سازی، شما را قادر می‌سازیم تا برنامه‌های همزمان را با اعتماد به نفس بنویسید.


این دوره با رویکرد «از ساده به پیچیده»، همراه با مثال‌های واقعی، تمرینات و پروژه‌های عملی تدوین شده است. شما نه تنها نحوه کارکرد Go را درک می‌کنید، بلکه یاد می‌گیرید چگونه دانش خود را در وظایف کدنویسی عملی به کار ببرید.


مباحث کلیدی که بر آن‌ها مسلط می‌شوید:


  • راه‌اندازی محیط توسعه و نوشتن اولین برنامه Go

  • کار با متغیرها، انواع داده، ثابت‌ها و توابع

  • اشاره‌گرها، آرایه‌ها، اسلایس‌ها، شرط‌ها و حلقه‌ها

  • استفاده از مپ‌ها و استراکت‌ها؛ درک انواع مقداری و ارجاعی

  • اینترفیس‌ها: پیاده‌سازی، پیاده‌سازی‌های متعدد و اینترفیس‌های جنریک

  • مدیریت خطا: panic، recover و انواع خطای سفارشی

  • همزمانی (Concurrency): گوروتین‌ها، کانال‌ها و Wait Groupها


هر درس ویدئویی شامل توضیحات شفاف، مثال‌ها و تمرینات است. در پایان دوره، شما نه تنها دانش بنیادین قوی به دست می‌آورید، بلکه قالب‌های آماده‌ای برای پروژه‌های خود خواهید داشت.


و فراموش نکنید - Udemy ضمانت بازگشت وجه ۳۰ روزه ارائه می‌دهد. با شروع یادگیری امروز، هیچ ریسکی نخواهید داشت!


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

مقدمه‌ای بر زبان Go Introduction to Go

  • خوش‌آمدگویی و نکات Welcome and Tips

  • فایل‌های پروژه دوره Course Project Files

  • مهم: دانلود فایل‌های پروژه IMPORTANT - Download course project files

  • ارتباط با ما Let's get connected!

نصب Go و دستورات پایه Installing Go and Go Commands

  • مقدمه Intro

  • نصب Go Installing Go

  • دستورات Go Go Commands

  • نصب ویرایشگر Visual Studio Code Installing Visual Studio Code Editor

  • پیکربندی VS Code برای Go Configuring VS Code for Go

مبانی Go Go Basics

  • مقدمه Intro

  • تابع main و پکیج main main Function and main Package

  • پکیج fmt و تابع Println fmt Package and Println Function

  • کامپایل برنامه‌های Go Compiling Go Programs

  • فرمت کردن کدهای Go Formatting Go Code

  • پکیج‌های خارجی برای برنامه‌های Go External Packages for Go Applications

  • ایجاد ماژول و استفاده از پکیج‌های خارجی Creating a Module and Using External Packages

  • خلاصه اولین برنامه Go Summary of First Go Program

متغیرها و انواع داده پایه Variables and Basic Types

  • مقدمه Intro

  • آماده‌سازی برای بحث متغیرها در Go Preparing to Discuss Variables in Go

  • اعلان و مقداردهی متغیرها Declaring and Assigning Variables

  • افزودن فایل دیگر با تابع main Adding Another File with main Function

  • رفع خطای وجود چندین تابع main Resolving Multiple main Function Error

  • روش‌های مختلف اعلان متغیرها Different Ways to Declare Variables

  • استفاده از Printf برای فرمت‌دهی رشته‌ها Using Printf to Format Strings

  • تعیین نوع متغیرها Determining Variable Types

  • تغییر مقدار متغیرها Reassigning Variable Values

  • تایپینگ استاتیک در Go Static Typing in Go

  • اعلان مجزای متغیرها Declaring Variables Separately

  • مقادیر پیش‌فرض (Zero Values) متغیرها Default Zero Values for Variables

  • تایپینگ قوی در Go Strong Typing in Go

  • اعلان چندین متغیر در یک خط Declaring Multiple Variables in One Line

ثابت‌ها Constants

  • مقدمه Intro

  • ثابت‌ها در Go Constants in Go

  • ثابت‌ها و تطبیق نوع Constants and Type Adaptation

  • گروه‌بندی متغیرها و ثابت‌ها Grouping Variables and Constants

  • خلاصه متغیرها در Go Summary of Variables in Go

توابع Functions

  • مقدمه Intro

  • آماده‌سازی برای بحث توابع در Go Preparing to Discuss Functions in Go

  • ایجاد و فراخوانی توابع Creating and Calling Functions

  • پارامترها و آرگومان‌های تابع Function Parameters and Arguments

  • پارامترهای متعدد در توابع Multiple Parameters in Functions

  • بازگرداندن مقادیر از توابع Returning Values from Functions

  • استفاده از نتیجه یک تابع در تابعی دیگر Using Result of One Function in Another

  • بازگرداندن چندین مقدار از تابع Returning Multiple Values from Function

  • مقادیر بازگشتی نام‌گذاری شده Named Return Values

  • لیترال‌های تابعی نام‌گذاری شده Named Function Literals

  • Closureها در توابع Closures in Functions

  • خلاصه توابع در Go Summary of Functions in Go

اشاره‌گرها Pointers

  • مقدمه Intro

  • استفاده از اشاره‌گرها برای دریافت آدرس حافظه Using Pointers to Get Memory Addresses

  • تغییر مقادیر حافظه با اشاره‌گرها Changing Memory Values with Pointers

  • توابع بدون اشاره‌گر Functions Without Pointers

  • توابع با اشاره‌گر Functions With Pointers

  • خلاصه اشاره‌گرها در Go Summary of Pointers in Go

آرایه‌ها و اسلایس‌ها Arrays and Slices

  • مقدمه Intro

  • ایجاد آرایه‌ها Creating Arrays

  • مقداردهی آرایه‌ها و تابع len Assigning Arrays and len Function

  • ایجاد اسلایس از آرایه Creating Slice from Array

  • رابطه بین آرایه و اسلایس Relationship Between Array and Slice

  • روش‌های مختلف ایجاد اسلایس Different Ways to Create Slices

  • افزودن المان به اسلایس و تابع cap Adding Elements to Slice and cap Function

  • فراتر رفتن از حداکثر اندازه در اسلایس Exceeding Maximum Size in Slice

  • حذف المان‌ها از اسلایس Removing Elements from Slice

  • پیمایش با حلقه for Iterating with for Loop

  • خلاصه آرایه‌ها و اسلایس‌ها Summary of Arrays and Slices

دستورات شرطی: if و switch Conditionals: if and switch

  • مقدمه Intro

  • دستور if if Statement

  • دستور if else if else Statement

  • دستور if else if if else if Statement

  • ifهای تو در تو و ترکیب شرط‌ها Nested if and Combining Conditions

  • مقداردهی اولیه در دستورات if Initializers in if Statements

  • دستور switch switch Statement

حلقه‌ها: for و for range Loops: for and for-range

  • مقدمه Intro

  • حلقه for با شمارنده for Loop with Counter

  • حلقه for با شرط for Loop with Condition

  • حلقه بی‌نهایت با break و continue Infinite Loop with break and continue

  • حلقه for range for range Loop

  • استفاده از break و continue در for range Using break and continue in for range

  • خلاصه if، switch و for Summary of if, switch, and for

نوع داده Map Map Type

  • مقدمه Intro

  • ایجاد و استفاده از map Creating and Using map

  • بررسی وجود کلید در map Checking Key Existence in map

  • حذف کلیدها از map Deleting Keys from map

  • پیمایش روی map Iterating Over map

  • nil چیست؟ What is nil

  • استفاده از تابع make برای ایجاد map Using make Function to Create map

  • ارسال map به یک تابع Passing map to a Function

  • خلاصه کاربرد map Summary of map Usage

نوع داده Struct Struct Type

  • مقدمه Intro

  • آشنایی با نوع داده struct Introduction to struct Type

  • استفاده از Struct Literals Using Struct Literals

  • ارسال استراکت به تابع به صورت مقداری Passing Struct to Function by Value

  • ارسال استراکت به تابع به صورت اشاره‌گر Passing Struct to Function by Pointer

  • فیلدهای استراکت از نوع تابع (func) Struct Fields of Type func

  • متدها برای استراکت Methods for struct

  • متدها برای سایر انواع داده Methods for Other Types

  • تفاوت‌های بین struct و map Differences Between struct and map

  • خلاصه struct Summary of struct

اینترفیس‌ها Interfaces

  • مقدمه Intro

  • اینترفیس چیست؟ (مثال کافی‌شاپ) What is an Interface (Coffee Shop Example)

  • پیاده‌سازی پایه اینترفیس Basic Interface Implementation

  • پیاده‌سازی‌های متعدد یک اینترفیس Multiple Implementations of an Interface

  • اینترفیس به عنوان پارامتر تابع Interface as Function Parameter

  • پیاده‌سازی اینترفیس داخلی Stringer Implementing the Built-in Stringer Interface

  • تمرین: نمایش اسلایس به صورت رشته Task: Representing Slice as String

  • تمرین: پیاده‌سازی اینترفیس برای یک نوع استراکت Task: Implementing Interface for a Struct Type

  • پیاده‌سازی چندین اینترفیس Implementing Multiple Interfaces

  • ایجاد اسلایسی از نوع اینترفیس Creating Slice of Interface Type

  • استفاده از اینترفیس خالی (Empty Interface) Using the Empty Interface

  • خلاصه اینترفیس‌ها Summary of Interfaces

مدیریت خطاها Errors

  • مقدمه Intro

  • خطاهای زمان اجرا (Runtime Errors) Runtime Errors

  • جلوگیری از خطای تقسیم بر صفر Avoiding Division by Zero Error

  • فراخوانی‌های Deferred توابع نام‌گذاری شده Deferred Named Function Calls

  • فراخوانی‌های Deferred توابع بی‌نام Deferred Anonymous Function Calls

  • بازیابی از خطاها در توابع Deferred Recovering from Errors in Deferred Functions

  • دریافت خطا از یک تابع Getting Errors from a Function

  • ایجاد خطا (error) Creating error

  • پیاده‌سازی اینترفیس error و panic Implementing error Interface and panic

  • ایجاد و بازگرداندن خطا از تابع Creating and Returning Error from Function

  • ایجاد خطا با errors.New Creating Error with errors.New

  • خلاصه مدیریت خطا Summary of Error Handling

گوروتین‌ها و همزمانی Goroutines & Concurrency

  • مقدمه Intro

  • آشنایی با اجرای همزمان (Concurrent Execution) Intro to Concurrent Execution

  • گوروتین اصلی (main Goroutine) چیست؟ What is the main Goroutine

  • ایجاد یک گوروتین Creating a Goroutine

  • گوروتین‌های متعدد Multiple Goroutines

  • استفاده از WaitGroups Using WaitGroups

  • استفاده از کانال‌ها بین گوروتین‌ها Using Channels Between Goroutines

  • یک کانال برای چندین گوروتین One Channel for Multiple Goroutines

  • خلاصه گوروتین‌ها Summary of Goroutines

جمع‌بندی نهایی Wrap up

  • سپاسگزاری و پایان Thank you!

نمایش نظرات

آموزش جامع زبان Go (GoLang) - از صفر تا صد
جزییات دوره
25.5 hours
132
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
358
4.8 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Bogdan Stashchuk Bogdan Stashchuk

مهندس نرم افزار ، CCIE # 22608 ، MBA ، PhD - stashchuk.com آیا واقعاً می خواهید به جای نشستن و تماشای سخنرانی های طولانی یا تلاش برای رمزگذاری بدون هیچ سرنخی از آنچه در پشت صحنه اتفاق می افتد ، درک کنید و تمرین کنید؟ در هر یک از دوره های من به من بپیوندید و دانش واقعی را بر اساس درک عمیق هر موضوع کسب خواهید کرد. اما من کیستم؟ نام من بوگدان استاشچوک است و بیش از 20 سال به دانشجویان آموزش می دهم. من به عنوان مهندس نرم افزار کار می کنم و دوست دارم خودم یاد بدهم و یاد بگیرم. من یک تجربه عظیم در توضیح چیزهای دشوار در قالب قابل فهم دارم که با فعالیتهای عملی پشتیبان تهیه شده است. این ترکیب کاملی است که شما را قادر می سازد تا به طور واقعی دانش به دست آمده را برای مدت طولانی یاد بگیرید و آن را حفظ کنید. بیایید در شبکه های اجتماعی متصل شویم! تمام پیوندهایی که می توانید در زیر عکس پروفایل پیدا کنید.