之前写后端一直用C++,后来被Go圈粉了。最大的感受就是goroutine这个设计太省心,go func()一行就是一个并发任务,不用自己管线程池和上下文切换,channel一传,数据同步的事儿基本解决了大半。写过传统多线程的都懂那种锁来锁去的痛苦。
语法上Go是真克制,一共25个关键字,看别人的代码基本不用猜作者想干嘛。静态类型加编译速度够快,写起来其实有点接近脚本语言的手感,但跑起来是native的。
标准库也很厚道,net/http直接就能起服务,写个微服务或者高并发的API基本不用引第三方库。跨编译一个命令的事,部署扔个二进制就完。
当然槽点也有,泛型加得太晚,error handling写多了确实啰嗦。但整体来看,工程效率和运行效率的平衡点它踩得很准。
版上有写Go的吗,生产环境踩过什么坑?