دوره جامع برنامه نویسی Go

Chapter 1: Introduction to Go
  • Lesson 1: What is Go?
  • Lesson 2: History of Go and Its Philosophy
  • Lesson 3: Applications and Use Cases of Go
  • Lesson 4: Setting Up the Go Environment
  • Lesson 5: Writing Your First Go Program
  • Lesson 6: Introduction to Go Syntax
  • Lesson 7: Working with Go Tools (go run, go build, go fmt)
Chapter 2: Variables, Data Types, and Constants
  • Lesson 1: Declaring and Initializing Variables
  • Lesson 2: Data Types in Go: int, float, string, bool, etc.
  • Lesson 3: Type Inference and Short Variable Declarations
  • Lesson 4: Constants and iota
  • Lesson 5: Pointers in Go
Chapter 3: Operators in Go
  • Lesson 1: Arithmetic Operators
  • Lesson 2: Comparison and Logical Operators
  • Lesson 3: Bitwise and Shift Operators
  • Lesson 4: Assignment Operators
  • Lesson 5: Increment and Decrement Operators (and Go's unique approach)
Chapter 4: Control Structures
  • Lesson 1: Introduction to Control Flow
  • Lesson 2: if, else, and else-if Statements
  • Lesson 3: switch-case (with type switches)
  • Lesson 4: Loops in Go (for, range)
  • Lesson 5: Break, Continue, and Labels in Loops
Chapter 5: Functions
  • Lesson 1: Declaring and Calling Functions
  • Lesson 2: Parameters and Return Values
  • Lesson 3: Named Return Values
  • Lesson 4: Variadic Functions
  • Lesson 5: Closures and Anonymous Functions
  • Lesson 6: Recursion in Go
  • Lesson 7: Deferred Function Calls
  • Lesson 8: Error Handling in Functions
Chapter 6: Packages and Modules
  • Lesson 1: Understanding Packages
  • Lesson 2: Importing and Creating Custom Packages
  • Lesson 3: Working with Go Modules (go.mod and Dependency Management)
  • Lesson 4: GOPATH vs. Modules
Chapter 7: Arrays, Slices, and Maps
  • Lesson 1: Arrays in Go
  • Lesson 2: Introduction to Slices
  • Lesson 3: Slice Manipulation and Capacity
  • Lesson 4: Working with Maps
  • Lesson 5: Multi-dimensional Slices and Maps
Chapter 8: Strings and Runes
  • Lesson 1: String Basics
  • Lesson 2: Manipulating Strings in Go
  • Lesson 3: Working with Runes and Unicode
  • Lesson 4: String Formatting and Concatenation
  • Lesson 5: Regular Expressions in Go
Chapter 9: Structs and Methods
  • Lesson 1: Understanding Structs
  • Lesson 2: Declaring and Using Structs
  • Lesson 3: Methods on Structs
  • Lesson 4: Anonymous Fields and Embedding
  • Lesson 5: Comparing Structs
  • Lesson 6: JSON Encoding and Decoding with Structs
Chapter 10: Interfaces and Polymorphism
  • Lesson 1: What are Interfaces in Go?
  • Lesson 2: Declaring and Implementing Interfaces
  • Lesson 3: Interface Composition
  • Lesson 4: Type Assertion and Type Switch
  • Lesson 5: Polymorphism in Go
Chapter 11: Concurrency in Go
  • Lesson 1: Introduction to Goroutines
  • Lesson 2: Using Channels
  • Lesson 3: Buffered vs. Unbuffered Channels
  • Lesson 4: Select Statement
  • Lesson 5: Synchronization with sync Package
  • Lesson 6: Worker Pools and Pipelines
Chapter 12: Error Handling
  • Lesson 1: The Philosophy of Error Handling in Go
  • Lesson 2: Using the error Type
  • Lesson 3: Custom Errors
  • Lesson 4: Error Wrapping and Unwrapping (Go 1.13+)
  • Lesson 5: Panic and Recover
Chapter 1: Modern Go Features
  • Lesson 1: Overview of Features (Go 1.16+)
  • Lesson 2: Embedding and Generics (Go 1.18+)
  • Lesson 3: Enhanced Error Handling Patterns
  • Lesson 4: Go Workspaces (Go 1.18+)
  • Lesson 5: New Standard Library Features
Chapter 2: File I/O and Serialization
  • Lesson 1: Working with Files and Directories
  • Lesson 2: Reading and Writing Files
  • Lesson 3: JSON and XML Serialization
  • Lesson 4: Working with CSV Data
  • Lesson 5: Encoding and Decoding Binary Data
Chapter 3: Testing and Debugging
  • Lesson 1: Writing Unit Tests with testing Package
  • Lesson 2: Mocking and Table-Driven Tests
  • Lesson 3: Using go test and Code Coverage
  • Lesson 4: Benchmarking with testing Package
  • Lesson 5: Debugging Tools (dlv, pprof)
Chapter 4: Advanced Concurrency
  • Lesson 1: Mutexes and WaitGroups
  • Lesson 2: Atomic Operations
  • Lesson 3: Context Package for Cancellation and Timeouts
  • Lesson 4: Advanced Patterns with Channels
Chapter 5: Networking in Go
  • Lesson 1: Basics of Networking
  • Lesson 2: Working with net/http
  • Lesson 3: Building REST APIs
  • Lesson 4: WebSocket Programming
  • Lesson 5: TCP and UDP Servers
  • Lesson 6: gRPC in Go
Chapter 6: Performance Optimization
  • Lesson 1: Profiling and Analyzing Performance
  • Lesson 2: Efficient Memory Usage
  • Lesson 3: Optimizing Goroutines and Channels
  • Lesson 4: Garbage Collection and Tuning
Chapter 7: Reflection and Generics
  • Lesson 1: Basics of Reflection
  • Lesson 2: Practical Use Cases of Reflection
  • Lesson 3: Understanding and Using Generics (Go 1.18+)
Chapter 8: Building and Deploying Applications
  • Lesson 1: Building CLI Applications
  • Lesson 2: Packaging Applications for Deployment
  • Lesson 3: Cross-Compilation
  • Lesson 4: Containerizing Go Applications (with Docker)
  • Lesson 5: Deployment in Cloud Environments
Chapter 9: Design Patterns in Go
  • Lesson 1: What are Design Patterns?
  • Lesson 2: Creational Patterns | Singleton, Factory Method, Abstract Factory, Builder, Prototype
  • Lesson 3: Structural Patterns | Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy
  • Lesson 4: Behavioral Patterns | Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor
  • Lesson 5: Middleware Patterns for HTTP Servers
  • Lesson 6: Advanced Error Handling Techniques
Chapter 10: Security in Go
  • Lesson 1: Basics of Cryptography in Go
  • Lesson 2: Using the crypto Package
  • Lesson 3: TLS and Secure Communication
  • Lesson 4: Protecting Sensitive Data
Chapter 11: Multithreading with Go
  • Lesson 1: Introduction to Multithreading in Go
  • Lesson 2: Goroutines: Lightweight Threads
  • Lesson 3: Synchronization Techniques in Multithreading
  • Lesson 4: Communication Between Goroutines
  • Lesson 5: Parallelism with Goroutines
  • Lesson 6: Managing Goroutines in Large Applications
  • Lesson 7: Using sync and sync/atomic for Advanced Synchronization
  • Lesson 8: Libraries and Frameworks for Multithreading in Go
  • Lesson 9: Advanced Patterns in Multithreading
  • Lesson 10: Error Handling in Multithreaded Applications
  • Lesson 11: Debugging and Testing Multithreaded Code
  • Lesson 12: Best Practices and Limitations of Multithreading in Go
Chapter 12: Backend Web Development with Go
  • Lesson 1: Introduction to Backend Web Development with Go
  • Lesson 2: Creating Your First Web Server
  • Lesson 3: Routing and Middleware
  • Lesson 4: Working with HTTP Requests and Responses
  • Lesson 5: Templates and HTML Rendering
  • Lesson 6: Connecting to Databases
  • Lesson 7: RESTful API Development
  • Lesson 8: Authentication and Authorization
  • Lesson 9: Middleware for Backend Applications
  • Lesson 10: Handling Static Files and Assets
  • Lesson 11: WebSocket Integration
  • Lesson 12: Deployment and Scaling
  • Lesson 13: Security Best Practices
  • Lesson 14: Testing and Debugging
Chapter 13: GUI Development with Go
  • Lesson 1: Introduction to GUI Development in Go
  • Lesson 2: Setting Up the Environment for GUI Development
  • Lesson 3: Building a Simple GUI Application with Fyne
  • Lesson 4: Developing GUI Applications with Qt
  • Lesson 5: Creating Cross-Platform Applications with GTK
  • Lesson 6: Advanced GUI Components and Custom Widgets
  • Lesson 7: Working with Graphics and Images
  • Lesson 8: Handling File Dialogs and System Interaction
  • Lesson 9: Internationalization and Localization
  • Lesson 10: Testing and Debugging GUI Applications
  • Lesson 11: Packaging and Distributing GUI Applications
Chapter 14: Metaprogramming with Go
  • Lesson 1: Introduction to Metaprogramming in Go
  • Lesson 2: Go's Reflection API
  • Lesson 3: Generics in Go (Go 1.18+)
  • Lesson 4: Code Generation in Go
  • Lesson 5: Using Reflection with JSON and XML Serialization
  • Lesson 6: Dynamic Proxy Pattern in Go
  • Lesson 7: Working with Dynamic Plugins
  • Lesson 8: Writing DSLs (Domain-Specific Languages) in Go
  • Lesson 9: Advanced Code Generation with Templates
  • Lesson 10: Runtime Type Inspection and Dynamic Behavior
  • Lesson 11: Testing and Debugging Metaprogramming Code
  • Lesson 12: Best Practices and Limitations of Metaprogramming in Go
مدت دوره: 100 + 20 ساعت

تمامی کدهای گو این دوره و همچنین فایلpdf کامل تدریس دوره در اختیار دانشجویانی که در این دوره ثبت نام نمایند، قرار خواهد گرفت. در پایان دوره، یک پروژه عملی به مدت حدود 20 ساعت با همکاری مدرس و دانشجو انجام خواهد شد، که آمادگی کامل برای ورود به بازار کار را ایجاد نماید.
هزینه هر جلسه 1 ساعته تدریس خصوصی برای دوره فوق، برای 1 نفر معادل 350 هزار تومان و برای 2 نفر، هر نفر 250 هزار تومان و برای 3 نفر، هر نفر 200 هزار تومان می‌باشد.
شماره تماس واتساپ و تلگرام: 09124908372 ، 09354908372

پیام شما





















دوره مقدماتی برنامه نویسی Go


Chapter 1: Introduction to Go
Chapter 2: Variables, Data Types, and Constants
Chapter 3: Operators in Go
Chapter 4: Control Structures
Chapter 5: Functions
Chapter 6: Packages and Modules
Chapter 7: Arrays, Slices, and Maps
Chapter 8: Strings and Runes
Chapter 9: Structs and Methods
Chapter 10: Interfaces and Polymorphism
Chapter 11: Concurrency in Go
Chapter 12: Error Handling

دوره پیشرفته برنامه نویسی Go


Chapter 1: Modern Go Features
Chapter 2: File I/O and Serialization
Chapter 3: Testing and Debugging
Chapter 4: Advanced Concurrency
Chapter 5: Networking in Go
Chapter 6: Performance Optimization
Chapter 7: Reflection and Generics
Chapter 8: Building and Deploying Applications
Chapter 9: Design Patterns in Go
Chapter 10: Security in Go
Chapter 11: Multithreading with Go
Chapter 12: Backend Web Development with Go
Chapter 13: GUI Development with Go
Chapter 14: Metaprogramming with Go
مدت دوره: 100 + 20 ساعت

تمامی کدهای گو این دوره و همچنین فایلpdf کامل تدریس دوره در اختیار دانشجویانی که در این دوره ثبت نام نمایند، قرار خواهد گرفت. در پایان دوره، یک پروژه عملی به مدت حدود 20 ساعت با همکاری مدرس و دانشجو انجام خواهد شد، که آمادگی کامل برای ورود به بازار کار را ایجاد نماید.
هزینه هر جلسه 1 ساعته تدریس خصوصی برای دوره فوق، برای 1 نفر معادل 350 هزار تومان و برای 2 نفر، هر نفر 250 هزار تومان و برای 3 نفر، هر نفر 200 هزار تومان می‌باشد.
شماره تماس واتساپ و تلگرام: 09124908372 ، 09354908372

پیام شما