Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Duration 21 hours
Course Outline
Advanced Go Concepts
- In-depth exploration of Go’s type system
- Mastering pointers, memory management, and garbage collection mechanisms
- Utilizing advanced interfaces and struct embedding
Concurrency and Parallelism
- Advanced management of goroutines
- Working with buffered and unbuffered channels
- Implementing select statements and worker pool patterns
Error Handling and Logging
- Creating custom error types and error wrapping strategies
- Implementing structured logging and monitoring solutions
- Best practices for error propagation
Testing and Benchmarking
- Conducting unit and integration testing in Go
- Leveraging Go’s built-in testing frameworks
- Profiling and benchmarking application performance
Modular Programming and Packages
- Managing dependencies using Go modules
- Versioning strategies and publishing modules
- Designing and building reusable Go libraries
Building APIs and Microservices
- Developing RESTful APIs with Go
- Integrating Go applications with Docker and container technologies
- Orchestrating and deploying services effectively
Performance Optimization
- Techniques for memory profiling and tuning
- Strategies for optimizing concurrency performance
- Using pprof for detailed performance monitoring
Summary and Next Steps
Requirements
- Practical experience programming in Go
- Solid understanding of Go syntax, data structures, and function mechanics
- Familiarity with package management and basic concurrency concepts
Audience
- Experienced software developers
- Backend engineers
- Cloud-native application developers
Testimonials (2)
The structure of the training and the exercises were fantastic. The trainer was able to get me excited to work with Go in the future, which is not an easy thing!
Noah Van Tiggel - Spot Buy Center BV
Course - Advanced Go Programming
The trainer proved himself to be an expert of the topic, which I never give for granted. He provided very useful insight on industry standards.