Channels can be any type in Go. A channel of structs allows you to pass a lot of state with a single message. This recipe will explore the use of channels to pass around complex request structures and return their results in complex response structs.
In the next recipe, Using the worker pool design pattern, the value of this becomes even more apparent as you can create general purpose workers capable of performing a variety of tasks.
How to do it...
These steps cover writing and running your application:
- From your Terminal or console application,createa new directory called~/projects/go-programming-cookbook/chapter10/stateand navigate to it.
- Run the following command:
$ go mod init github.com/PacktPublishing/Go-Programming-Cookbook-Second-Edition/chapter10/state
You should see a file calledgo.modthat contains the following content:
module...