This is the code repository for Go Concurrency [Video], published by Packt. It contains all the supporting project files necessary to work through the video course from start to finish.
Go is a multi-paradigm programming language that has built-in facilities for creating concurrent applications. Design patterns allow developers to efficiently address common problems faced during developing applications. The focus in this course is on learning about concurrent structures and parallel execution. You will use the majority of Go primitives to write concurrent apps, and we will develop some classical design patterns with concurrent structures to maximize parallelism. Also, you will learn some typical structures with which to develop concurrent apps in Go. You will learn how a classical pattern can become more complex if you need it to work in a concurrent way; however, the idea is to understand Go concurrent primitives so that you know how to write your own concurrent design patterns by using the knowledge taken from the course.
- Encapsulate the creation of complex objects in an idiomatic way in Go
- Learn most Go primitives and write concurrent apps
- Develop some classical design patterns with concurrent structures to maximize parallelism
- Understand the importance of object encapsulation to provide clarity and maintainability
- Prepare cost-effective actions so that different parts of the program aren't affected by expensive tasks
- Deal with channels and GoRoutines within the Go context to build concurrent applications in Go in an idiomatic way
To fully benefit from the coverage included in this course, you will need:
The target audience is beginner- and intermediate-level developers in the Go programming language. No knowledge of design patterns is expected.
This course has the following software requirements:
Go