All of the HTTP, socket, encryption, compression etc libraries have a really clean, consistent design based around stackable reader and writer interfaces. This makes it really easy to combine things, swap out transport layers etc.
Go routines and channels are also nice for handling concurrent requests though I find myself using mutexes more than channels for finer grained control.