今天就继续看看Go的文档,主要是How to write Go code和Effective Go(没看完)。又发现了Go跟C++的不同。主要是:
Go的运算符优先级,跟C++不一样。主要体现在Go的移位运算符比加减优先级高,位运算符比比较运算符优先级高。而C++正好相反。虽然Go这样的优先级比较符合直觉,但是熟悉C++的选手需要注意一下。
另外,我发现其实Go的多线程其实跟C++11线程库没什么区别,只是因为Go的语法优势(闭包以及其他一些方便的语法)使得Go写多线程稍微方便一些。
还有就是写Go多线程的时候,主线程退出了程序直接退出,其他线程直接杀死,所以必须做同步。这个一般用sync库里的WaitGroup,或者搞个管道来做。其实我感觉Go里面一些多线程操作也并没有比C++方便多少。主要还是C++写得好的人太少了。
再过一阵子,等我Go的经验丰富之后,大概会写一篇博客总结一下吧。
Comments
注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。