درباره دوره دوره Golang – Software Development with Go برای یادگیری زبان Go از پایه تا سطح پیشرفته طراحی شده؛ بهطوری که حتی اگر آشنایی زیادی با Go نداشته باشی، میتونی قدمبهقدم با ساختار و منطق این زبان آشنا بشی و شروع به کدنویسی کنی.
در این دوره با مفاهیم اصلی برنامهنویسی در Go، کار با دادهها، توابع، ساختارهای مختلف برنامه، مدیریت خطا و کار با فایلها آشنا میشی و در ادامه سراغ مباحثی مثل برنامهنویسی همزمان، تست کد، مدیریت حافظه و Generics میری. در کنار یادگیری زبان، روش نوشتن کد تمیز و استاندارد و ساخت پروژههای قابلاعتماد با Go هم آموزش داده میشه.
سرفصلها
Getting Started & Environment Setup
Installing Go & Configuring GOPATH/GOROOT
VSCode Installing & Go Extension
Running Go Program via Terminal
First Program - Hello World
Terminal & Bash Commands
Git & SSH Authentication
Reading Official Go Documentation
Go Language Fundamentals
var
:=
zero values
int
float
string
bool
Decimal
Binary
Hexadecimal
Constants & iota Enumerator
Functions & Return Types
Packages, Import Statements & Visibility Rules
Go Modules
go mod init
go mod tidy
go get
Printf
Sprintf
Println Verbs
Hash Algorithms & Checksums
Control Flow
If Statements & Comparison Operators
Logical Operators
!
ll
&&
Switch Statements
For Loop
For Range
Slices
Maps
Channels
Modulus / Remainder Operator
Defer Statement
Data Collections
Arrays
Slice Composite Literal & make ()
Array Operators: Append, Slice, Delete
Bytes Slice & String Conversion
Basic Operations: Create, Read, Update, Delete
Iterating Over Maps
Maps vs Structs - When to Use Each
String Operations & Strings Package
Structs & Data Organization
Defining & Declaring Structs
Embedded Structs & Composition
Receiver Functions (Methods)
Pass by Value Semantics
Structs with Pointers
Custom Type Declarations
Reference Types vs Value Types
Pointer & Value Semantics Heuristics
Advanced Functions
Variadic Parameters & Unfurling Slices
Anonymous Functions & Function Expression
Closures
Callbacks & Higher Order Functions
Returning Functions from Functions
Recursive Functions
Wrapper & Middleware Functions
Sorting with Sort Package (Including Custom Sort)
Interface & Polymorphism
Purpose of Interfaces & Implementation
Defining Interfaces & Rules of Interfaces
Reader Interface
Writer Interface
Stringer Interface
Net/HTTP Package & HTTP Interfaces
Empty Interface (any) & Type Assertions
Interface for Mock Testing & Dependency Injection
Error Handling
error Type
Printing, Logging & Log Package
Custom Error Types with Context
Panic, Recover & Defer for Cleanup
Error Wrapping with %w, errors.ls, errors.As
Four Common Error Handling Strategies
File System & I/O Operations
os. WriteFile & ioutil - Saving Data
os. ReadFile & Error Handling
Encoding / JSON
Marshal
Unmarshal
Struct Tags
Bcrypt Password Hashing & Asymmetric Encryption Concepts
Writing to File vs bytes.Buffer
Pointers & Memory
What are Pointers (& Operator)
Dereferencing Pointers
Method Sets: Pointer vs Value Receiver
Stack vs Heap & Escape Analysis
Goroutines & Channels
Goroutines - Lightweight Threads
Concurrency vs Parallelism
WaitGroup: sync.WaitGroup, Wating for goroutines
Race Conditions, sync.Mutex & Atomic Operations
Introduction Channels: Make, Send, Receive
Buffered Channels & Directional Channel Types
Select for Multi-Channel Coordination
Fan-In, Fan-Out Concurrency Patterns
Pipeline Pattern with Channels
context.Context for Cancellation & Timeout
Testing & Benchmarking
Testing Package: TestXxx Functions & GO Test
Table Tests - Idiomatic Go Testing
Example Functions for Documentation Testing
Testing File IO Operations
Benchmark Functions & Profiling
Test Coverage: Go Test - Cover
golint, go vet & staticcheck
Generics
Type Constraint & Type Parameteres
Type Set Interfaces for Constraints
golang.org/x/exp/constraints Package
Type Aliases vs Underlying Type Constraints
Concrete Type vs Interface Type in Generics
Documentation & Best Practices
GO Doc Comments - godoc Conventions
GO Doc Command & godoc Server
gofmt & goimports
Effective Go Idioms & Conventions
Project Structure & Standard Layout
انتخاب دوره و ثبتنام
برای افزودن دوره به سبد خرید، جاوااسکریپت مرورگر را فعال کنید.
نظر کاربران
نظرت درباره این دوره چیه؟
برای ثبت نظر و امتیاز، وارد حساب کاربریات شو.
ورود با شماره موبایل و کد پیامکی، کمتر از یک دقیقه.
ورود و ثبت نظرهنوز نظری برای این دوره ثبت نشده؛ اولین نفر باش.