作者:茹姐
链接:https://www.zhihu.com/question/300163211/answer/654447355
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
说一下自己得想法哈!虽然自己一直在用go语言,但并不赞同一味的说go语言得好,清晰的认识每一个编程语言得优劣势才是正确之选。
虽然目前Go语言是很多项目重构的首选,但是还是有一些使用上的缺点。当然因为Go语言是一种年轻的语言,所以它仍在发展中,在未来还有很大的提升空间。而且Go语言团队,几乎每半年就更新版本,所以也能感觉到Go团队,在逐步的修改Go语言的一些不足之处。
- 缺乏框架
GoLang开发人员没有重要的框架。但是有其他语言。Ruby有Ruby on Rails,Python有Django,PHP有Laravel
2. 错误处理
如果可能出现错误,Go程序需要函数来返回错误。这可能导致错误跟踪丢失导致缺少有用的错误处理逻辑的问题。有些工具可以帮助检测这种错误,但它们更像是解决方法。开发人员还需要编写大量的if块来检查错误并处理它,这使得代码不那么干净。当然在go2草案中,据说已经要修改Go语言的错误处理机制了
3. 包管理
Go中的包管理并不完美。默认情况下,它无法创建具有固定包版本的依赖关系树,这意味着在不同时间构建时,创建的生成可能基于不同版本的包。相比之下,Python,NodeJS(npm)和Ruby都有相对维护良好的包管理系统。例如,在Ruby on Rails项目中,你可以拥有一个Gemfile文件,该文件定义依赖项及其依赖版本,这意味着即使将来某些版本的某些版本稍后会更新,也会使用相同版本的软件包来创建新版本。
最后,当你参与新项目或计划改进下一个项目时,Go绝对是一个不错的选择。一旦你习惯了Golang开发,就可以把它变成主流,因为与缺点相比,它的优势要大得多。
它可以帮助你在时间线和预算中构建复杂的应用程序,并且可以轻松处理每秒1000个并发请求,这在其他语言中可能是非常困难的。