We can use channels to synchronize execution across goroutines. Here’s an example of using a blocking receive to wait for a goroutine to finish. When waiting for multiple goroutines to finish, you may prefer to use a WaitGroup. |
|
|
|
|
|
This is the function we’ll run in a goroutine. The
|
|
Send a value to notify that we’re done. |
|
|
|
Start a worker goroutine, giving it the channel to notify on. |
|
Block until we receive a notification from the worker on the channel. |
|
|
|
If you removed the |
Next example: Channel Directions.