Go
Go / Golang Course
Concurrency & Cloud-Native Programming
MODULE 1
Go Fundamentals
Intro • Setup
- History & philosophy
- Go architecture
- Compilation model
- Static typing
- Go toolchain
- Modules & GOPATH
MODULE 2
Syntax & Basics
Types
- Packages
- Variables
- Constants
- Zero values
- Formatting
MODULE 3
Control Flow
if switch
- if
- switch
- Type switch
- Error flow
MODULE 4
Loops
range
- for forms
- range
- Labels
- Patterns
MODULE 5
Functions
Defer
- Multiple returns
- Variadic
- Closures
- Defer
- Panic recover
MODULE 6
Data Structures
Slices Maps
- Arrays
- Slices
- Maps
- Structs
MODULE 7
Pointers & Memory
Heap
- Pointers
- Escape analysis
- Stack vs heap
MODULE 8
Methods & Interfaces
Polymorphism
- Methods
- Interfaces
- Assertions
- Type switch
MODULE 9
Packages & Modules
go.mod
- Packages
- Export rules
- Modules
- Versioning
MODULE 10
Error Handling
Go style
- error interface
- Custom errors
- Wrapping
MODULE 11
Concurrency
Goroutines
- Goroutines
- Channels
- Select
- WaitGroup
MODULE 12
Advanced Concurrency
Context
- Context
- Timeouts
- Atomics
- Race
MODULE 13
File & I/O
Streams
- Reader Writer
- Files
- JSON
MODULE 14
Networking & HTTP
Server
- net
- HTTP server
- Handlers
- REST
MODULE 15
Database
SQL
- database/sql
- Drivers
- Transactions
- GORM
MODULE 16
Web Dev
Gin
- net/http
- Templates
- Gin
- Echo
MODULE 17
Testing
go test
- Unit tests
- Benchmark
- Coverage
MODULE 18
CLI Tools
Cobra
- CLI apps
- Flags
- Cobra
MODULE 19
Microservices
gRPC
- REST
- gRPC
- Observability
MODULE 20
Security
TLS
- Crypto
- TLS
- JWT
MODULE 21
Performance
pprof
- Profiling
- Memory
- Bench
MODULE 22
Go Internals
Scheduler
- Scheduler
- GC
- Allocator
MODULE 23
Build & Deploy
Docker
- Cross compile
- Static bin
- Docker
MODULE 24
Systems
OS
- Processes
- Signals
- FS
MODULE 25
Projects
Apps
- CLI tool
- REST API
- Microservice
MODULE 26
Career
Tracks
- Go backend
- Cloud
- Systems