Go语言初步观感
2020-02-14 本文已影响0人
奔五码农
这两年Golang比较火,抽了几天学习了一下,发现了Go的一些特点.
优点
- 代码简洁,可以不用加分号,很多地方不用括号,比如for循环
- 运行效率高,网上有很多benchmark,Go实现的web服务比Java,php等效率高了很多。
缺点
- 不允许有警告,这点是让很多程序员无法忍受的;
- 不允许有多余的函数或者变量,我有的时候会写一些将来要使用但是现在是冗余的代码放在那里,比如一个多余的函数或者变量,但是Go是不允许的,只能注释掉;
- 不允许函数重载,在一个package里面不能有同名函数出现,这让很多java程序员感觉不可思议;
- 每个package只能有一个main函数,这也让java程序员鄙视,写java的时候,经常顺手在下面写一个main函数测试或者调试一下,在go里面就必须另外建立一个文件;
- IDE还不完善,go虽然出现了10几年,但是还没有自己完善的IDE,不像java有jetbrains,eclipse,netbeans等等重量级的IDE,goland是收费版本,有些程序员使用破解版,我不太赞成,尽量还是出钱购买。免费版本有VSCode和LiteIDE等,我用VS Code来写Go程序,有些老鸟使用Vim,我一直不太习惯用Vim来写代码。VS Code现在还属于够用的级别,达不到好用的级别。
- Go实现的框架主要集中在后台,比如Gin,Echo和Iris等等,前端的GoMobile还不成熟,desktop端的go-astilectron也只是把Electron封装了。
当然,go还是在不断完善的,并且是遵循BSD开源协议,不像java被Oracle收购以后,逐步走向封闭,很多项目和平台还是依赖于jdk1.8,oracle也拿java专利打击Google等竞争对手,所以java的前途我是不太看好的。