آموزش یاد بگیرید چگونه کدنویسی کنید: زبان برنامه نویسی Google's Go (golang).

دانلود Learn How To Code: Google's Go (golang) Programming Language

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: دوره جامع نهایی - ایده آل برای مبتدیان و توسعه دهندگان با تجربه دوره جامع نهایی برای مبتدیان و برنامه نویسان با تجربه تدریس شده توسط یک استاد دانشگاه از ابتدا تا مفاهیم پیشرفته همزمانی، کانال ها، محک زدن تست، مدیریت خطا، مستندسازی تمرین های عملی با راه حل ها دسترسی به پایه کد ارزشمند این دوره امتحان شده، آزمایش شده و اثبات شده است بیش از 2.65 میلیون دانش آموز آموزش داده اند دسترسی به دوره مادام العمر یادگیری با سرعت خود رضایت 100% تضمین شده پیش نیازها: برای گذراندن این دوره به دانش پیش نیازی نیاز نیست. این دوره از همان ابتدا شروع می شود و هر آنچه را که برای یک برنامه نویس برجسته باید بدانید را به شما آموزش می دهد.

این دوره، منبع جامع نهایی برای یادگیری زبان برنامه نویسی Go است.

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

این دوره توسط یکی از مربیان برجسته برنامه نویسی Go در جهان به نام تاد مک لئود تدریس می شود. تاد اولین استاد دانشگاه در آمریکا بود که Go را در سطح دانشگاه تدریس کرد. تاد به بیش از 3.25 میلیون دانش آموز نحوه استفاده از زبان برنامه نویسی Go را آموزش داده است. این دوره برای آموزش استفاده از Go به مبتدیان و توسعه دهندگان با تجربه امتحان شده، تست شده و اثبات شده است.

این دوره دارای حجم عظیمی از محتوا و منابع است به طوری که شما می توانید هر آنچه را که نیاز دارید بیاموزید - هر آنچه که برای سطح توانایی شما مناسب است.

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

این دوره همچنین با ضمانت بازگشت وجه 100٪ رضایت ارائه می شود.

می دانم که این بهترین دوره در کل دنیا برای یادگیری زبان برنامه نویسی Go است.

می دانم که شما از این دوره کاملاً راضی خواهید بود.

و اگر به هر دلیلی دوره برای شما کار نکرد، در 14 روز اول، می‌توانید بازپرداخت کامل دریافت کنید.

پس همین الان ثبت نام کنید!

شما ارزش زیادی از این دوره دریافت خواهید کرد و مهمتر از آن، زمان بسیار خوبی را با یادگیری بهترین زبان برنامه نویسی ساخته شده - The Go Programming Language - سریعترین و پردرآمدترین زبان برنامه نویسی در آمریکا خواهید داشت.

در این سفر باورنکردنی به من بپیوندید. امروز ثبت نام کنید.

Go یک زبان برنامه نویسی متن باز است که ساختن نرم افزار ساده، قابل اعتماد و کارآمد را آسان می کند.

Go یک انتخاب شگفت‌انگیز برای یک زبان است زیرا توسط برخی از همان افرادی که زبان برنامه‌نویسی C، یونیکس و UTF-8 را ایجاد کرده‌اند - برخی از تاثیرگذارترین کمک‌ها به علم کامپیوتر - توسعه داده شده است. رابرت گریزمر، راب پایک و کن تامپسون Go را ایجاد کردند تا زبانی مدرن باشد که به راحتی از چندین هسته استفاده می کند، به راحتی همزمانی را پیاده سازی می کند، به راحتی در محیط های توزیع شده کار می کند، و به راحتی به برنامه نویس اجازه می دهد برنامه بنویسد - بسیار ناب و کاربر پسند است. نحو.

Go توسط افراد برجسته علوم کامپیوتر در یکی از بهترین، اگر نگوییم بهترین، شرکت مهندسی نرم‌افزاری که تاکنون وجود داشته است - Google ایجاد شده است.

مدارک Go بی‌نظیر است.

اما چرا گوگل زبان جدیدی ایجاد کرد؟

به قول گوگل، «Go از ناامیدی از زبان‌ها و محیط‌های موجود برای برنامه‌نویسی سیستم‌ها متولد شد. برنامه نویسی خیلی سخت شده بود و انتخاب زبان تا حدودی مقصر بود. یکی باید کامپایل کارآمد، اجرای کارآمد، یا سهولت برنامه نویسی را انتخاب کند. هر سه به یک زبان اصلی در دسترس نبودند. برنامه نویسانی که می توانستند با حرکت به زبان های تایپ شده پویا مانند پایتون و جاوا اسکریپت به جای C++ یا تا حدی جاوا، سهولت را به جای ایمنی و کارایی انتخاب کنند. Go تلاشی برای ترکیب سهولت برنامه نویسی یک زبان تفسیر شده و پویا تایپ شده با کارایی و ایمنی یک زبان تایپ ایستا و کامپایل شده است. همچنین هدف آن مدرن بودن با پشتیبانی از محاسبات شبکه ای و چند هسته ای است. در نهایت، قرار است کار با Go سریع باشد: ساختن یک فایل اجرایی بزرگ روی یک کامپیوتر منفرد حداکثر باید چند ثانیه طول بکشد. برای دستیابی به این اهداف نیاز به پرداختن به تعدادی از مسائل زبانی است: یک سیستم از نوع رسا اما سبک وزن. همزمانی و جمع آوری زباله; مشخصات وابستگی صلب؛ و غیره اینها را نمی توان به خوبی توسط کتابخانه ها یا ابزارها بررسی کرد. زبان جدیدی فراخوانده شد.»

به نظر من، Go بهترین زبان برنامه نویسی است که امروز می توانید یاد بگیرید. من برنامه نویسی را در سال 1982 با بیسیک شروع کردم، با زبان های زیادی کار کردم و Go بهترین زبانی است که تا به حال استفاده کرده ام. Go همچنین امروزه پردرآمدترین زبان برنامه نویسی در آمریکا است.

بیایید با بهترین زبان برنامه نویسی که تا کنون ساخته شده است آشنا شوید. شما با منابع و نمونه‌های کد می‌روید تا همه نرم‌افزارها و برنامه‌های خود را واقعاً کار کنند.


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

معرفی Introduction

  • منابع ارزشمند Valuable Resources

  • چرا برو؟ Why go?

  • چگونه موفق شویم How to succeed

معرفی دوره Course introduction

  • خوش آمدید Welcome

  • منابع دوره Course resources

  • منابع اضافی Additional resources

  • قدرت آموزش برای تغییر زندگی The Power of Education to Transform Lives

بررسی اجمالی دوره Course Overview

  • منابع درسی I Course resources I

  • منابع درس II Course resources II

  • مستندات Documentation

  • تسریع در یادگیری Accelerate learning

شروع با Go Getting going with Go

  • چرا برو؟ Why Go?

  • اسناد و کد نمونه Documentation & example code

  • ایجاد اولین برنامه برو ما - سلام گوفرها! Creating our first go program - hello gophers!

  • کاوش در چاپ فرمت و اسناد Exploring format printing and documentation

  • نحوه کار کامپیوترها - اصول اصلی How computers work - core principles

  • ASCII، Unicode، و UTF-8 - درک متن ASCII, Unicode, & UTF-8 - understanding text

  • لفظ رشته و مستندات String literals and documentation

محیط توسعه شما Your development environment

  • پایانه The terminal

  • بلند شدن و دویدن Getting up and running

  • اجرای برنامه های go بر روی دستگاه شما Running go programs on your machine

  • ضربه زدن به پنجره ها Bash on windows

  • دستورات Shell/bash I Shell / bash commands I

  • برو نصب باینری را در $GOPATH/bin قرار می دهد Go install puts binary in $GOPATH/bin

  • دستورات Shell/bash II Shell / bash commands II

  • در حال نصب Go Installing Go

  • ماژول های برو - مقدمه Go modules - introduction

  • به فضای کاری بروید Go workspace

  • متغیرهای محیطی Environment variables

  • IDE ها IDE's

  • دستورات برو Go commands

  • مخازن Github Github repos

  • Github کاوش کرد Github explored

  • مدیریت بسته Package management

  • برو نمای کلی ماژول ها Go modules overview

  • ایجاد یک ماژول go Creating a go module

  • افزودن یک وابستگی Adding a dependency

  • ارتقاء وابستگی ها Upgrading dependencies

تمرینات عملی Hands-on exercises

  • تمرین عملی شماره 74 - یک اشاره گر ایجاد کنید Hands-on exercise #74 - create a pointer

  • تمرین عملی شماره 75 - یک آدرس را حذف کنید Hands-on exercise #75 - dereference an address

  • تمرین عملی شماره 76 - پیاده سازی رابط و مجموعه روش Hands-on exercise #76 - interface implementation & method sets

  • تمرین عملی شماره 77 - معناشناسی ارزش و اشاره گر Hands-on exercise #77 - value & pointer semantics

متغیرها، مقادیر و نوع Variables, values, & type

  • زمین بازی Playground

  • سلام دنیا Hello world

  • آشنایی با پکیج ها Introduction to packages

  • اپراتور اعلامیه کوتاه Short declaration operator

  • کلمه کلیدی var The var keyword

  • کاوش نوع Exploring type

  • مقدار صفر Zero value

  • پکیج fmt The fmt package

  • ایجاد نوع خود Creating your own type

  • تبدیل، نه ریخته گری Conversion, not casting

مبانی Go The fundamentals of Go

  • متغیرها، مقادیر صفر، شناسه خالی Variables, zero values, blank identifier

  • استفاده از printf برای مقادیر اعشاری و هگزادسیمال Using printf for decimal & hexadecimal values

  • سیستم های اعداد: اعشاری، باینری و هگزادسیمال Numeral systems: decimal, binary, & hexadecimal

  • ارزش ها، انواع، تبدیل، دامنه، و خانه داری Values, types, conversion, scope, & housekeeping

  • انواع توکار، انواع مصالح و ترکیب Built-in types, aggregate types, and composition

تمرینات - نینجا سطح 1 Exercises - Ninja Level 1

  • تمرین دستی شماره 1 Hands-on exercise #1

  • تمرین عملی شماره 2 Hands-on exercise #2

  • تمرین عملی شماره 3 Hands-on exercise #3

  • تمرین عملی شماره 4 Hands-on exercise #4

  • تمرین عملی شماره 5 Hands-on exercise #5

  • تمرین عملی شماره 6 Hands-on exercise #6

اصول برنامه نویسی Programming fundamentals

  • نوع Bool Bool type

  • کامپیوترها چگونه کار می کنند How computers work

  • انواع عددی Numeric types

  • نوع رشته String type

  • سیستم های عددی Numeral systems

  • ثابت ها Constants

  • آیوتا Iota

  • کمی جابجایی Bit shifting

اصول برنامه نویسی برای مبتدیان Programming fundamentals for beginners

  • مقدمه Introduction

  • اصطلاحات Terminology

  • درک دامنه Understanding scope

  • کار در ترمینال Working at the terminal

  • استفاده از bash در ویندوز Using bash on Windows

  • دستورات ترمینال - قسمت 1 Terminal commands - part 1

  • دستورات ترمینال - قسمت 2 Terminal commands - part 2

  • احراز هویت Github و ssh Github and ssh authentication

  • راه اندازی یک مخزن github Setting up a github repo

  • جمع های چک Checksums

تمرینات - نینجا سطح 2 Exercises - Ninja Level 2

  • تمرین دستی شماره 1 Hands-on exercise #1

  • تمرین عملی شماره 2 Hands-on exercise #2

  • تمرین عملی شماره 3 Hands-on exercise #3

  • تمرین عملی شماره 4 Hands-on exercise #4

  • تمرین عملی شماره 5 Hands-on exercise #5

  • تمرینات ورزشی # 6 Hands-on exercise #6

  • تمرین دستی شماره 7 Hands-on exercise #7

کنترل جریان Control flow

  • درک جریان کنترل Understanding control flow

  • حلقه - init، شرط، پست Loop - init, condition, post

  • حلقه - حلقه های تودرتو Loop - nesting loops

  • حلقه - برای بیانیه Loop - for statement

  • حلقه - شکستن و ادامه دادن Loop - break & continue

  • حلقه - چاپ ascii Loop - printing ascii

  • بیانیه شرطی - if Conditional - if statement

  • مشروط - اگر، در غیر این صورت اگر، دیگری Conditional - if, else if, else

  • حلقه، شرطی، مدول Loop, conditional, modulus

  • شرطی - دستور سوئیچ Conditional - switch statement

  • مشروط - مستندات بیانیه سوئیچ Conditional - switch statement documentation

  • عملگرهای منطقی شرطی Conditional logic operators

برو مد و مدیریت وابستگی Go mod and dependency management

  • مقدمه ای برای رفتن به ماژول ها و مدیریت وابستگی Introduction to go modules & dependency management

  • کد مدولار، وابستگی mgmt، برو دریافت - نمای کلی Modular code, dependency mgmt, go get - overview

  • به ماژول‌ها در عمل بروید: به mod init بروید و به حالت مرتب بروید Go modules in action: go mod init & go mod tidy

  • نگاهی به مستندات برای go mod tidy Looking at the documentation for go mod tidy

  • قابلیت مشاهده بسته: قابل مشاهده، قابل مشاهده نیست. صادر می شود، صادر نمی شود Package visibility: visible, not visible; exported, not exported

  • کد ماژولار، وابستگی mgmt، برو دریافت - #1 Modular code, dependency mgmt, go get - #1

  • کد ماژولار، وابستگی mgmt، برو دریافت - #2 Modular code, dependency mgmt, go get - #2

  • برچسب git با نسخه - نمای کلی Tag git commits with version - overview

  • برچسب git با نسخه - مثال شماره 1 Tag git commits with version - example #1

  • تگ git commits با نسخه - مثال شماره 2 Tag git commits with version - example #2

  • مشخص کردن نسخه وابستگی Specifying dependency version

تمرینات - نینجا سطح 3 Exercises - Ninja Level 3

  • تمرین دستی شماره 1 Hands-on exercise #1

  • تمرین عملی شماره 2 Hands-on exercise #2

  • تمرین عملی شماره 3 Hands-on exercise #3

  • تمرین عملی شماره 4 Hands-on exercise #4

  • تمرین عملی شماره 5 Hands-on exercise #5

  • تمرین عملی شماره 6 Hands-on exercise #6

  • تمرین دستی شماره 7 Hands-on exercise #7

  • تمرین دستی شماره 8 Hands-on exercise #8

  • تمرینات ورزشی # 9 Hands-on exercise #9

  • تمرین دستی شماره 10 Hands-on exercise #10

گروه بندی داده ها Grouping data

  • آرایه Array

  • برش - لفظی مرکب Slice - composite literal

  • برش - برای محدوده Slice - for range

  • برش - برش دادن یک برش Slice - slicing a slice

  • برش - به یک برش اضافه کنید Slice - append to a slice

  • Slice - حذف از یک برش Slice - deleting from a slice

  • برش - درست کن Slice - make

  • برش - برش چند بعدی Slice - multi-dimensional slice

  • نقشه - مقدمه Map - introduction

  • نقشه - اضافه کردن عنصر و محدوده Map - add element & range

  • نقشه - حذف Map - delete

خانه داری - الگوریتم های هش، رمزگذاری متقارن و نامتقارن، ارتباطات Housekeeping - Hash Algorithms, Symmetric & Asymmetric Encryption, Communication

  • الگوریتم های هش، رمزگذاری متقارن و نامتقارن، و ارتباطات شبکه Hash Algorithms, Symmetric & Asymmetric Encryption, & Network Communication

تمرینات - نینجا سطح 4 Exercises - Ninja Level 4

  • تمرین دستی شماره 1 Hands-on exercise #1

  • تمرین عملی شماره 2 Hands-on exercise #2

  • تمرین عملی شماره 3 Hands-on exercise #3

  • تمرین عملی شماره 4 Hands-on exercise #4

  • تمرین عملی شماره 5 Hands-on exercise #5

  • تمرین عملی شماره 6 Hands-on exercise #6

  • تمرین دستی شماره 7 Hands-on exercise #7

  • تمرین دستی شماره 8 Hands-on exercise #8

  • تمرین دستی شماره 9 Hands-on exercise #9

  • تمرین دستی شماره 10 Hands-on exercise #10

سازه ها Structs

  • ساختار Struct

  • ساختارهای تعبیه شده Embedded structs

  • خواندن اسناد Reading documentation

  • ساختارهای ناشناس Anonymous structs

  • خانه داری Housekeeping

تمرینات - نینجا سطح 5 Exercises - Ninja Level 5

  • تمرین دستی شماره 1 Hands-on exercise #1

  • تمرین عملی شماره 2 Hands-on exercise #2

  • تمرین عملی شماره 3 Hands-on exercise #3

  • تمرین عملی شماره 4 Hands-on exercise #4

گروه بندی مقادیر داده - آرایه و برش Grouping data values - array & slice

  • بررسی و پیش نمایش Review and preview

  • مقدمه ای بر گروه بندی مقادیر Introduction to grouping values

  • آرایه - مقدمه ای بر آرایه ها Array - an introduction to arrays

  • تمرین دستی شماره 40 Hands-on exercise #40

  • برش - لفظی مرکب Slice - composite literal

  • تمرین عملی شماره 41 Hands-on exercise #41

  • برش - برای محدوده و دسترسی به مقادیر بر اساس موقعیت شاخص Slice - for range & access values by index position

  • برش - به یک برش اضافه کنید Slice - append to a slice

  • برش - برش دادن یک برش Slice - slicing a slice

  • Slice - حذف از یک برش Slice - deleting from a slice

  • برش - درست کن Slice - make

  • برش - برش چند بعدی Slice - multidimensional slice

  • برش - قطعات داخلی و آرایه زیرین - 01 Slice - slice internals & underlying array - 01

  • برش - قطعات داخلی و آرایه زیرین - 02 Slice - slice internals & underlying array - 02

  • برش - قطعات داخلی و آرایه زیرین - 03 Slice - slice internals & underlying array - 03

کارکرد Functions

  • نحو Syntax

  • پارامتر متغیر Variadic parameter

  • باز کردن یک برش Unfurling a slice

  • به تعویق انداختن Defer

  • مواد و روش ها Methods

  • رابط ها و پلی مورفیسم Interfaces & polymorphism

  • تابع ناشناس Anonymous func

  • بیان تابع func expression

  • برگرداندن یک فانک Returning a func

  • پاسخ به تماس Callback

  • بسته Closure

  • بازگشت Recursion

تمرینات - نینجا سطح 6 Exercises - Ninja Level 6

  • تمرین دستی شماره 1 Hands-on exercise #1

  • تمرین عملی شماره 2 Hands-on exercise #2

  • تمرین عملی شماره 3 Hands-on exercise #3

  • تمرین عملی شماره 4 Hands-on exercise #4

  • تمرین عملی شماره 5 Hands-on exercise #5

  • تمرین عملی شماره 6 Hands-on exercise #6

  • تمرین دستی شماره 7 Hands-on exercise #7

  • تمرین دستی شماره 8 Hands-on exercise #8

  • تمرین دستی شماره 9 Hands-on exercise #9

  • تمرین دستی شماره 10 Hands-on exercise #10

  • تمرین عملی شماره 11 Hands-on exercise #11

گروه بندی مقادیر داده ها - نقشه Grouping data values - map

  • نقشه - مقدمه Map - introduction

  • نقشه - برای محدوده بیش از یک نقشه Map - for range over a map

  • نقشه - حذف عنصر Map - delete element

  • نقشه - اصطلاح ok کاما Map - comma ok idiom

  • نقشه - شمارش کلمات در یک کتاب Map - counting words in a book

اشاره گرها Pointers

  • اشاره گر چیست؟ What are pointers?

  • مشاهده نوع و مقدار برای نشانگرها Seeing type & value for pointers

  • چه زمانی از اشاره گر استفاده کنیم When to use pointers

  • مجموعه های روش Method sets

  • ارجاع دادن به اشاره گرها Dereferencing pointers

  • عبور از مقدار، اشاره گرها/انواع مرجع، و تغییرپذیری Pass by value, pointers / reference types, and mutability

  • معناشناسی اشاره گر و ارزش تعریف شده است Pointer & value semantics defined

  • اکتشافی معناشناسی اشاره گر و ارزش Pointer & value semantics heuristics

  • اشاره گرها، مقادیر، پشته و پشته Pointers, values, the stack, & the heap

  • مجموعه روش کاوش بخش 1 Exploring method sets part 1

  • مجموعه روش کاوش بخش 2 Exploring method sets part 2

تمرینات - نینجا سطح 7 Exercises - Ninja Level 7

  • تمرین دستی شماره 1 Hands-on exercise #1

  • تمرین عملی شماره 2 Hands-on exercise #2

گروه بندی مقادیر داده ها - ساختارها Grouping data values - structs

  • مقدمه سازه Struct introduction

  • ساختارهای تعبیه شده Embedded structs

  • ساختارهای ناشناس Anonymous structs

  • ترکیب Composition

کاربرد Application

  • اسناد JSON JSON documentation

  • مارشال JSON JSON marshal

  • json unmarshal JSON unmarshal

  • رابط نویسنده Writer interface

  • مرتب سازی Sort

  • مرتب سازی سفارشی Sort custom

  • bcrypt bcrypt

تمرینات - Ninja Level 8 Exercises - Ninja Level 8

  • تمرین دستی شماره 1 Hands-on exercise #1

  • تمرین عملی شماره 2 Hands-on exercise #2

  • تمرین عملی شماره 3 Hands-on exercise #3

  • تمرین عملی شماره 4 Hands-on exercise #4

  • تمرین عملی شماره 5 Hands-on exercise #5

توابع در زبان برنامه نویسی go Functions in the go programming language

  • مقدمه ای بر توابع Introduction to functions

  • نحو توابع در Go Syntax of functions in Go

  • پارامتر متغیر Variadic parameter

  • باز کردن یک برش Unfurling a slice

  • به تعویق انداختن Defer

  • روش ها Methods

  • رابط ها و پلی مورفیسم Interfaces & polymorphism

  • کاوش رابط رشته Exploring the stringer interface

  • در حال گسترش در رابط رشته - تابع wrapper برای ورود به سیستم Expanding on the stringer interface - wrapper func for logging

  • رابط Writer و نوشتن در یک فایل Writer interface & writing to a file

  • رابط نویسنده و نوشتن در بافر بایت Writer interface & writing to a byte buffer

  • نوشتن در یک فایل یا یک بافر بایت Writing to either a file or a byte buffer

  • تابع ناشناس Anonymous func

  • بیان تابع func expression

  • برگرداندن یک فانک Returning a func

  • پاسخ به تماس Callback

  • بسته شدن Closure

  • اصول عملکرد Function fundamentals

  • بازگشت Recursion

  • عملکرد لفاف دار Wrapper function

همزمانی Concurrency

  • Concurrency & WaitGroup Concurrency & WaitGroup

  • همزمانی در مقابل موازی بودن Concurrency vs parallelism

  • گروه انتظار WaitGroup

  • موازی سازی Parallelism

  • شرایط مسابقه Race Conditions

  • مجموعه‌های روش بازبینی شدند Method sets revisited

  • مستندات Documentation

  • اتمی بودن Atomicity

  • شرایط مسابقه Race condition

  • پیش‌نمایش مرور و کانال‌ها Review & Channels Preview

  • موتکس Mutex

  • اتمی Atomic

تمرینات - نینجا سطح 9 Exercises - Ninja Level 9

  • تمرین دستی شماره 1 Hands-on exercise #1

  • تمرین عملی شماره 2 Hands-on exercise #2

  • تمرین عملی شماره 3 Hands-on exercise #3

  • تمرین عملی شماره 4 Hands-on exercise #4

  • تمرین عملی شماره 5 Hands-on exercise #5

  • تمرین عملی شماره 6 Hands-on exercise #6

  • تمرینات ورزشی # 7 Hands-on exercise #7

کانال ها Channels

  • درک کانال ها Understanding channels

  • کانال ها - معرفی Channels - Introduction

  • بند محدوده Range Clause

  • کانال های جهت دار Directional channels

  • N-to-1 N-to-1

  • استفاده از کانال ها Using channels

  • دامنه Range

  • سمافورها - قسمت 1 Semaphores - Part 1

  • سمافورها - قسمت 2 Semaphores - Part 2

  • انتخاب کنید Select

  • کاما ok اصطلاح Comma ok idiom

  • 1 به N 1-to-N

  • فن در Fan in

  • کانال ها به عنوان استدلال و بازگشت Channels as Arguments & Returns

  • جهت کانال Channel Direction

  • باد کن Fan out

  • متن نوشته Context

تمرینات - نینجا سطح 10 Exercises - Ninja Level 10

  • تمرین دستی شماره 1 Hands-on exercise #1

  • تمرین عملی شماره 2 Hands-on exercise #2

  • تمرین عملی شماره 3 Hands-on exercise #3

  • تمرین عملی شماره 4 Hands-on exercise #4

  • تمرین عملی شماره 5 Hands-on exercise #5

  • تمرینات ورزشی # 6 Hands-on exercise #6

  • تمرین دستی شماره 7 Hands-on exercise #7

  • تمرین دستی شماره 7 Hands-on exercise #7

ژنریک ها Generics

  • محدودیت نوع Type constraint

  • نمونه محدودیت تایپ و رابط مجموعه را تایپ کنید Type constraint & type set interface example

  • نام مستعار تایپ و محدودیت‌های نوع اساسی Type alias & underlying type constraints

  • محدودیت های بسته Package constraints

  • آموزش ژنریک Generics tutorial

  • نوع بتن در مقابل نوع رابط Concrete type vs interface type

رسیدگی به خطا Error handling

  • درك كردن Understanding

  • بررسی خطاها Checking errors

  • چاپ و ثبت Printing and logging

  • بازیابی کنید Recover

  • خطاهای مربوط به اطلاعات Errors with info

تمرینات - نینجا سطح 11 Exercises - Ninja Level 11

  • تمرین دستی شماره 1 Hands-on exercise #1

  • تمرین عملی شماره 2 Hands-on exercise #2

  • تمرین عملی شماره 3 Hands-on exercise #3

  • تمرین عملی شماره 4 Hands-on exercise #4

  • تمرین عملی شماره 4 Hands-on exercise #4

  • تمرین عملی شماره 5 Hands-on exercise #5

نوشتن مستندات Writing documentation

  • معرفی Introduction

  • برو دکتر go doc

  • godoc godoc

  • godoc.org godoc.org

  • نوشتن مستندات Writing documentation

تمرینات - نینجا سطح 12 Exercises - Ninja Level 12

  • تمرین دستی شماره 1 Hands-on exercise #1

تست و محک زدن Testing & benchmarking

  • معرفی Introduction

  • تست های جدول Table tests

  • تست های نمونه Example tests

  • گولینت Golint

  • معیار Benchmark

  • پوشش Coverage

  • نمونه های معیار Benchmark examples

  • مرور Review

تمرینات - Ninja Level 13 Exercises - Ninja Level 13

  • تمرین دستی شماره 1 Hands-on exercise #1

  • تمرین دستی شماره 1 Hands-on exercise #1

  • تمرین عملی شماره 2 Hands-on exercise #2

  • تمرین عملی شماره 2 Hands-on exercise #2

  • تمرین عملی شماره 3 Hands-on exercise #3

  • تمرین عملی شماره 3 Hands-on exercise #3

بدرود Farewell

  • تبریک میگم Congratulations

  • بدرود Farewell

  • سخنرانی پاداش Bonus lecture

ماده جایزه BONUS MATERIAL

  • یک دوره دوم کامل - ارائه شده به صورت رایگان! An Entire Second Course - Provided for Free!

معرفی Introduction

  • چرا زبان برنامه نویسی Go را انتخاب کنیم؟ Why choose the Go programming language?

  • سلام دنیا! Hello World!

در حال نصب Go Installing Go

  • نمای کلی بخش Section Overview

  • پایانه The Terminal

  • Insights Insights Installation Insights

  • به فضای کاری بروید Go Workspace

  • متغیرهای محیطی Environment Variables

  • ویندوز - پیکربندی متغیرهای مسیر Windows - Configuring Path Variables

  • مک - پیکربندی متغیرهای مسیر Mac - Configuring Path Variables

  • مهم - با توجه به ویدیوهای لینوکس که دنبال می شوند IMPORTANT - REGARDING LINUX VIDEOS THAT FOLLOW

  • لینوکس - راه اندازی ماشین Linux - Machine Setup

  • لینوکس - پیکربندی ماشین Linux - Machine Configuration

  • لینوکس - پیکربندی متغیرهای مسیر Linux - Configuring Path Variables

  • تست نصب شما Testing Your Installation

  • بررسی بخش Section Review

محیط توسعه شما Your Development Environment

  • نمای کلی بخش Section Overview

  • برو ویرایشگرها Go Editors

  • WebStorm و Atom.io WebStorm & Atom.io

  • رایگان برای دانش آموزان - WebStorm Free For Students - WebStorm

  • ایجاد اولین پروژه شما Creating Your First Project

  • سلام جهان با Webstorm Hello World with Webstorm

  • فرمان برو و مستندات The Go Command & Documentation

  • درک Github Understanding Github

  • با استفاده از Github Using Github

  • بررسی بخش Section Review

مبانی کامپیوتر Computer Fundamentals

  • نمای کلی بخش Section Overview

  • چگونه کامپیوترها کار می کنند - قسمت اول How Computers Work - Part I

  • چگونه کامپیوترها کار می کنند - قسمت دوم How Computers Work - Part II

  • دستور به روز رسانی Github Github Update Command

  • سیستم های عددی Numeral Systems

  • سیستم شماره گذاری باینری Binary Numbering System

  • سیستم شماره گذاری هگزادسیمال Hexadecimal Numbering System

  • رمزگذاری متن Text Encoding

  • برنامه های برنامه نویسی Coding Scheme Programs

  • چاپ فرمت Format Printing

  • بررسی بخش Section Review

اصول زبان Language Fundamentals

  • نمای کلی بخش Section Overview

  • بسته ها Packages

  • دستورات برو Go Commands

  • متغیرها Variables

  • محدوده Scope

  • محدوده دوم Scope II

  • بسته Closure

  • مشخصات زبان Language Spec

  • شناسه خالی Blank Identifier

  • ثابت ها Constants

  • ثابت ها Constants

  • ثابت II Constants II

  • کلمات دلگرم کننده Words of Encouragement

  • آدرس حافظه Memory Addresses

  • اشاره گرها Pointers

  • استفاده از اشاره گر Using Pointers

  • باقی مانده Remainder

  • بررسی بخش Section Review

کنترل جریان Control Flow

  • پیش نمایش کد Previewing code

  • نمای کلی بخش Section Overview

  • درک جریان کنترل Understanding control flow

  • برای حلقه For Loop

  • حلقه های تو در تو Nested Loops

  • اگر عبارات و عملگرهای مقایسه If statements & comparison operators

  • شرایط، شکستن، و ادامه Conditions, Break, & Continue

  • درک و استفاده از عملگرهای منطقی Understanding & using Logical operators

  • مستندات و اصطلاحات Documentation & Terminology

  • اصطلاحات "گزاره؛ بیانیه" و "کاما، خوب". The "statement; statement" & "comma, ok" idioms

  • استفاده از دستورات سوئیچ برای تصمیم گیری در کد Using switch statements to make decisions in code

  • رون Rune

  • استفاده از بیانیه های انتخابی برای ارتباط همزمان Using select statements for concurrency communication

  • نوع رشته String Type

  • درک و استفاده از دستور for برای ایجاد حلقه ها Understanding & using for statement to create loops

  • تغییر بیانیه ها Switch Statements

  • اگر بیانیه ها If Statements

  • تکرار چندگانه - تودرتو کردن یک حلقه در یک حلقه Multiple iteration - nesting a loop within a loop

  • درک و استفاده از حلقه های محدوده Understanding & using for range loops

  • راه حل های تمرین Exercise Solutions

  • بررسی بخش Section Review

  • یافتن مدول/باقیمانده Finding a modulus / remainder

تکرار منجر به تسلط می شود Repetition leads to mastery

  • دوره اصلی The original course

کارکرد Functions

  • نمای کلی بخش Section Overview

  • نمای کلی بخش Section Overview

  • مقدمه ای برای توابع Intro To Functions

  • Func برمی گردد Func Returns

  • توابع متغیر Variadic Functions

  • استدلال های متغیر Variadic Arguments

  • عبارات تابع Func Expressions

  • بسته Closure

  • تماس های تلفنی Callbacks

  • مثال برگشت به تماس Callback Example

  • بازگشت Recursion

  • به تعویق انداختن Defer

  • عبور از ارزش Pass By Value

  • انواع مرجع Reference Types

  • توابع خوداجرای ناشناس Anonymous Self-Executing Functions

  • عبارات Bool Bool Expressions

  • تمرینات - قسمت اول Exercises - Part I

  • تمرینات - قسمت دوم Exercises - Part II

  • تمرین - قسمت سوم Exercises - Part III

  • بررسی بخش Section Review

ساختارهای داده - آرایه Data Structures - Array

  • بررسی اجمالی ساختارهای داده Data Structures Overview

  • آرایه Array

  • آرایه Array

  • نمونه های آرایه Array Examples

ساختارهای داده - برش Data Structures - Slice

  • برش ها Slices

  • نمونه های برش Slice Examples

  • نمونه های بیشتر برش More Slice Examples

  • ایجاد یک برش Creating A Slice

  • افزایش آیتم Slice Incrementing A Slice Item

  • بررسی بخش Section Review

  • بررسی بخش Section Review

ساختارهای داده - نقشه Data Structures - Map

  • معرفی نقشه ها Maps Introduction

  • نمونه های نقشه - قسمت اول Map Examples - Part I

  • نمونه های نقشه - قسمت دوم Map Examples - Part II

  • نمونه های نقشه - قسمت سوم Map Examples - Part III

  • اسناد نقشه Map Documentation

  • حلقه محدوده نقشه Map Range Loop

  • GitHub Pull GitHub Pull

  • جداول هش Hash Tables

  • درهم کردن کلمات Hashing Words

  • هش کردن کلمات II Hashing Words II

  • یک جدول هش بسازید Build A Hash Table

  • الگوریتم هش به پایان رسید Finished Hash Algorithm

ساختارهای داده - ساختار Data Structures - Struct

  • Structs مقدمه Structs Introduction

  • OOP in Go OOP in Go

  • انواع تعریف شده توسط کاربر User-Defined Types

  • ترکیب بندی Composition

  • JSON مارشال JSON Marshal

  • JSON Unmarshal JSON Unmarshal

  • JSON Encode JSON Encode

  • رمزگشایی JSON JSON Decode

رابط ها Interfaces

  • معرفی رابط ها Interfaces Introduction

  • نمونه های رابط Interface Examples

  • قابلیت تعویض کد Code Substitutability

  • بیل کندی Bill Kennedy

  • دونووان و کرنیگان Donovan & Kernighan

  • بسته بندی مرتب سازی Sort Package

  • راه حل مرتب سازی Sort Solution

  • مرتب سازی معکوس Sort Reverse

  • Sort Slice Int Sort Slice Int

  • رابط خالی Empty Interface

  • مجموعه روش Method Sets

  • تبدیل در مقابل ادعا Conversion vs Assertion

همزمانی Concurrency

  • Concurrency & WaitGroup Concurrency & WaitGroup

  • موازی سازی Parallelism

  • شرایط مسابقه Race Conditions

  • مستندات Documentation

  • موتکس Mutex

  • موتکس Mutex

  • اتمی بودن Atomicity

  • پیش‌نمایش مرور و کانال‌ها Review & Channels Preview

کانال ها Channels

  • کانال ها - معرفی Channels - Introduction

  • بند محدوده Range Clause

  • N-to-1 N-to-1

  • سمافورها - قسمت 1 Semaphores - Part 1

  • سمافورها - قسمت 2 Semaphores - Part 2

  • 1 به N 1-to-N

  • کانال ها به عنوان استدلال و بازده Channels as Arguments & Returns

  • جهت کانال Channel Direction

همزمانی کاربردی Applied Concurrency

  • افزایش دهنده با کانال ها Incrementor With Channels

  • چالش بن بست Deadlock Challenge

  • چالش فاکتوریل Factorial Challenge

  • الگوی خط لوله Pipeline Pattern

  • چالش فاکتوریال Redux Factorial Challenge Redux

  • چالش فاکتوریل راه حل Redux Factorial Challenge Redux Solution

  • Fan Out/Fan In Pattern - نمای کلی Fan Out / Fan In Pattern - Overview

  • فن در الگو Fan In Pattern

  • فن بیرون/فن در - مثال Fan Out / Fan In - Example

چالش های همزمانی Concurrency Challenges

  • Fan Out/Fan In - Challenge Fan Out / Fan In - Challenge

  • فن خروجی/فن در - راه حل Fan Out / Fan In - Solution

  • فن/فن در - چالش: فاکتوریل Fan Out / Fan In - Challenge: Factorial

  • Fan Out/Fan In - Solution: Factorial Fan Out / Fan In - Solution: Factorial

  • چالش بن بست Deadlock Challenge

  • چالش بن بست Deadlock Challenge

  • راه حل بن بست Deadlock Solution

  • چالش Incrementor بازبینی شد Incrementor Challenge Revisited

  • راه حل افزایشی Incrementor Solution

منابع همزمان Concurrency Resources

  • منابع اضافی Additional Resources

  • پیوندها Links

رسیدگی به خطا Error Handling

  • مقدمه ای بر مدیریت خطا در Go An Introduction to Error Handling in Go

  • بهبود کد خود با Golint Improving Your Code with Golint

  • رسیدگی به خطاها و ثبت خطاها در یک فایل Handling Errors & Logging Errors to a File

  • چهار روش معمول برای رسیدگی به اشتباهات Four Common Ways to Handle Errors

  • خطاهای سفارشی - ایجاد مقادیر خطای نوع Custom Errors - Creating Values of Type error

  • مدیریت خطاهای اصطلاحی Idiomatic Error Handling

  • ارائه متن با خطا Providing Context with Errors

  • ارائه حتی بیشتر زمینه با خطاها Providing Even More Context with Errors

  • بررسی و منابع رسیدگی به خطا Error Handling Review & Resources

بدرود Farewell

  • مقالات خوب Nice Articles

  • مراحل بعدی Next Steps

نمایش نظرات

آموزش یاد بگیرید چگونه کدنویسی کنید: زبان برنامه نویسی Google's Go (golang).
جزییات دوره
29 hours
301
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
152,777
4.6 از 5
دارد
دارد
دارد
Todd McLeod
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Todd McLeod Todd McLeod

استاد کالج رسمی من یک استاد رسمی در کالیفرنیا هستم. من هم در سطح دانشگاه و هم در سطح دانشگاه تدریس کرده ام. من همچنین در چندین رشته از جمله تجارت، سیستم های اطلاعاتی، علوم کامپیوتر و آموزش آنلاین تدریس کرده ام. در سال 1376 جزو اولین اساتید دانشگاه بودم که به صورت آنلاین تدریس می کردم. من در UC San Diego کار فوق لیسانس در آموزش آنلاین انجام دادم. من "برنامه تربیت معلم آنلاین" را تأسیس کردم و در آن تدریس کردم که به اساتید آموزش داد تا چگونه آنلاین تدریس کنند. در سال 2008، من به عنوان یکی از بهترین مربیان در کل سیستم کالج جامعه کالیفرنیا انتخاب شدم. در حال حاضر، وقتی با تعداد دانش‌آموزان خدمت‌شده اندازه‌گیری می‌شود، من مربی پیشرو در جهان در زبان برنامه‌نویسی جدید Google هستم که یکی از سریع‌ترین و پردرآمدترین زبان‌های برنامه‌نویسی در آمریکا است. علاوه بر این، من سه کسب و کار راه اندازی کرده ام (دوتا از آنها تا کنون سودآور بوده اند). سابقه من در کسب و کار، سیستم های اطلاعاتی، علوم کامپیوتر، آموزش آنلاین و کارآفرینی در دنیای واقعی، مرا برای تدریس همه این دوره ها آماده کرده است. من مشتاقانه منتظر هستم تا به شما کمک کنم تا مهارت های عالی برای بهبود زندگی خود را بیاموزید. مهارت های بهتر، زندگی بهتر.