Executing state management for channels
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 using of channels to pass around complex request structs 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.
Getting ready
Refer to the Getting ready section of the Using channels and the select statement recipe in this chapter.
How to do it...
These steps cover writing and running your application:
- From your terminal/console application, create and navigate to the
chapter9/state
directory. - Copy tests from https://github.com/agtorre/go-cookbook/tree/master/chapter9/state or use this as an exercise to write some of your own code.
- Create a file called
state.go
with the following content:
package state type op string ...