课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
相信大家在学习编程开发语言的时候也发现了,其实有许多程序员是比较推崇使用go语言来作为主要的编程学习语言的,而今天我们就一起来了解一下,关于go语言编程上的一些不足之处。
1不支持函数式编程
我并不是一个函数式编程狂热者。说到Lisp语言,我先想到的是语言障碍。
这可能是Go语言大的痛点了。与大部分人不同,我不希望Go支持泛型,因为它会为多数Go项目带来不必要的复杂性。我希望Go语言支持适用于内置切片和Map的函数式方法。切片和Map具有通用性,并且可以容纳任何类型,从这个意义上讲,它们已经非常神奇。在Go语言中只有利用接口才能实现类似效果,但这样一来将丧失安全性和速度。
2通道/并行切片处理
Go通道通常都很好用。但它并不能提供无限的并发能力。它确实存在一些会导致永久阻塞的问题,但这些问题用竞争检测器能很容易地解决。对于数量不确定或不知何时结束的流式数据,以及非CPU密集型的数据处理方法,Go通道都是很好的选择。
3垃圾回收器
Go的垃圾回收器做得非常不错。我开发的应用程序通常都会因为新版本的改进而变得更快。但是,它以低延迟为高优先级。对于API和UI应用来说,这个选择完全可以接受。对于包含网络调用的应用,因为网络调用往往会是瓶颈,所以它也没问题。
Go仍然是一种非常不错的语言。如果你让我写一个API,或者完成某个需要大量磁盘/网络调用的任务,它依然是我的主要编程语言。现在我会用Go而非Python去完成很多一次性任务,数据合并任务是例外,因为函数式编程的缺失使执行效率难以达到要求。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。