I'm working on a training course (text/video) devoted to Golang. Curious if there are any (advanced?) topics, which would definitely be worth to add to the course. Any ideas/recommendations?
Relevant to my interests! Here's some stuff I would have enjoyed learning prior to learning it the hard way:<p>a) Databases. What's the right way to work with them in Golang?<p>b) Suppose you're building an API which has some shared state. (Like, I don't know, a stock exchange's order book or something, to pick an example randomly.) What's the best way to model that such that you can access it concurrently in an arbitrary number of simultaneous HTTP requests?<p>c) Supposing that one understands goroutines at a Golang 101 level, where does one go from there? I ended up having lots of fun on e.g. fanning out data incoming from N sources to one channel back out to M consumers which each need a copy of everything on that channel. This felt excessively painful to me. How do I do it in a way which is not excessively painful?
Go concurrency and distributed programming patterns, with examples for different problems that devs often face, including how to test them.<p>Database examples need to provide instructions for getting to a working configuration, testing with a different database, etc.<p>honestly go look at Stack overflow and see where people get stuck.
1. Better understanding of goroutines & channels (what patio11 already mentioned).
2. Some more insight into error handling (maybe something on the lines of <a href="http://www.golangpatterns.info/error-handling" rel="nofollow">http://www.golangpatterns.info/error-handling</a>)
Evolution? Okay, maybe this is political, but in a training course I'd really need to see how a language has evolved to meet new challenges. Because if it's not a top-5 language, and it's not evolving, then why should someone care?
for most developers Golang is not the first or primary language.<p>how to port a ruby, python or java code to golang would be useful.<p>there are libraries like gox, but I would like a good tutorial to cross platform applications.<p>personally I would like to learn to build gui apps, android apps in go.