go语言有哪些劣势?

做者:茹姐npm

连接:https://www.zhihu.com/question/300163211/answer/654447355编程

来源:知乎并发

著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。框架

说一下本身得想法哈!虽然本身一直在用go语言,但并不赞同一味的说go语言得好,清晰的认识每个编程语言得优劣势才是正确之选。编程语言

虽然目前Go语言是不少项目重构的首选,可是仍是有一些使用上的缺点。固然由于Go语言是一种年轻的语言,因此它仍在发展中,在将来还有很大的提高空间。并且Go语言团队,几乎每半年就更新版本,因此也能感受到Go团队,在逐步的修改Go语言的一些不足之处。函数

  1. 缺少框架

GoLang开发人员没有重要的框架。可是有其余语言。Ruby有Ruby on Rails,Python有Django,PHP有Laravel工具

2. 错误处理开发

若是可能出现错误,Go程序须要函数来返回错误。这可能致使错误跟踪丢失致使缺乏有用的错误处理逻辑的问题。有些工具能够帮助检测这种错误,但它们更像是解决方法。开发人员还须要编写大量的if块来检查错误并处理它,这使得代码不那么干净。固然在go2草案中,听说已经要修改Go语言的错误处理机制了io

3. 包管理重构

Go中的包管理并不完美。默认状况下,它没法建立具备固定包版本的依赖关系树,这意味着在不一样时间构建时,建立的生成可能基于不一样版本的包。相比之下,Python,NodeJS(npm)和Ruby都有相对维护良好的包管理系统。例如,在Ruby on Rails项目中,你能够拥有一个Gemfile文件,该文件定义依赖项及其依赖版本,这意味着即便未来某些版本的某些版本稍后会更新,也会使用相同版本的软件包来建立新版本。

最后,当你参与新项目或计划改进下一个项目时,Go绝对是一个不错的选择。一旦你习惯了Golang开发,就能够把它变成主流,由于与缺点相比,它的优点要大得多。

它能够帮助你在时间线和预算中构建复杂的应用程序,而且能够轻松处理每秒1000个并发请求,这在其余语言中多是很是困难的。

相关文章
相关标签/搜索