What are the points shared by the Channels and Go routines?

I am new to Golang and I have trouble understanding the relationship between channels, following routines and best practices to implement them together,
Can someone enlighten me?