hoisie / twitterstream

A client for Twitter's streaming API in Go
144 stars 47 forks source link

Design question #19

Open inancgumus opened 7 years ago

inancgumus commented 7 years ago

Hi Michael,

I started learning Go 1 week before (I'm switching from node.js after 5 years). I noticed that you're not using channels much and leaving the channel work to your api user. You designed your library not around channels but only for output. I found this interesting.

And, I still look for callbacks everwhere due to my node.js background, what would happen if you just used callbacks instead of channels? What channels provide you more here? And why you let pass the channels to the clients side, and you even didn't create them yourself (you let the client do the channel management etc & because the chan owner manages the chans?).

Also, is there any resources I might be following for proper Go code design. I'm trying to read opensource project codes mostly to learn more about it.

Thanks!