Detailed training program
- Commands and first program
- Introduction to int and string types. Keyboard input
- Conditional operators
- Loops
- Installing IDE and JavaRush plugin
- Floating-point numbers and characters
- Arrays
- Slices
- Functions
- Working with math and enum
- Advanced string operations
- Maps and collection basics
- Pointers and memory management
- Error handling in Go
- Working with dates and time
- Structs and composition
- Methods and encapsulation in Go
- Interfaces: basics and contracts
- Polymorphism through interfaces and type assertion
- DTO and Record-like structures (Go-way)
- Standard collections and container package
- Sorting and searching in collections
- Generics: basics (Go 1.18+)
- Working with files and directories
- JSON, XML and data serialization
- Introduction to concurrency: goroutines
- Channels: creation, sending, receiving data
- Buffered and unbuffered channels
- Select and working with multiple channels
- Concurrency patterns: worker pool, pipeline
- Synchronization: sync.Mutex, sync.RWMutex, sync.WaitGroup
- Atomic operations and sync/atomic
- Race conditions and prevention
- Go modules: creation, dependency management
- Working with go.mod and go.sum
- Versioning and module replacement
- Testing basics: testing package
- Table-driven tests and subtests
- Benchmarks and profiling
- Mocking and integration tests
- Context package: managing operation lifetime
- Context and operation cancellation
- Timers, tickers and delayed execution
- Profiling and tracing concurrent code
- Network programming: TCP, UDP
- Working with HTTP: server and client
- Working with REST API, JSON and Middleware
- WebSockets and real-time communication
- RPC and gRPC
- Security, authentication, OAuth2
- Integration with other languages and systems
- Testing in Go: fundamentals
- Testing: mocks, integration tests
- Working with SQL and NoSQL databases
- Architectural patterns and Go-way principles
- Code generation in Go
- Logging and monitoring: Modern practices (slog)
- Performance: profiling and optimization
- Documentation and package publishing
- CI/CD, building and deploying Go applications
- Go memory internals and reflect
- Modules, versioning and multi-module projects
- What's new in Go 1.20–1.24 and experimental packages
- What's new in Go 1.25+ and modern practices
- Goroutines and WaitGroup
- Channel Basics
- select, Timeouts and Goroutine Leaks
- Synchronization (sync, Mutex, atomic)
- Worker Pool
- Advanced context
- Race Detector and Benchmarks (pprof)
- Course Wrap-Up and Next Steps
360+
Lessons
1000+
Tasks
72
Tests
And also:
- Instant task verification
- AI code validator
- IDE plugin
- WebIDE
- Gamification
- Motivational lectures