I was looking at how golang's select case statements work when you are pushing to channels and reading from channels. Sometimes it goes to the case where it reads from the channel and sometimes to the other one where it pushes to the channel (regardless of the order). Here are the both the cases:
How does this work?