学了Go之后,自己对Go和Java之间的感受!

放弃该放弃的是无奈,放弃不该放弃的是无能,不放弃该放弃的是无知,不放弃不该放弃的是执着。

愿自己能在自己所热爱的道路上越走越远。


最近抽周末学习了一下Go(虽然我是一个Java开发者新手), 虽然仅仅对Go只是了解了一点, 但是在这里就说说下自己对Java和Go的开发体会, 包括两个语言之间的生态支持. 对比的例子就是以写一个简单的HTTP请求来感受Java和Go之间的区别. 下面也仅仅是自己学了Go之后对两者进行开发的比较, 本文中没有讨论Java和Go之间的性能对比.

每一门语言都有自己的的语言规范

如果说从语法层面上来看的话, 我觉得就语法层面上来说,Java和Go两者都是有优点的(这个是我有一定的Java基础去学Go得到的结果. ) Java语法给人的感觉虽然啰里啰嗦, 但是我觉得其还是有一定的好处在哪, 虽然我不知道好处在哪里, 但是我就是感觉Java语法还是OK的.
相反,从Java去学Go, 会感觉Go中的语法给人一种简洁的特点, 并且Go在语法层面上的优点还是比Java多的, 比如说一个方法有多个返回值,而在Java中则不能让一个方法返回多个返回值. 如果要返回多个返回值, 那么必须将返回值封装成一个对象进行返回. 还有一个就是Go对for循环和if判断可以不要求对条件添加括号, 这个也给人一种很Nice的感觉。而且Go还在语法层面上支持并发的支持, 其直接以chan通道进行协程之间的通信. 这个极大的方便了程序员充分利用CPU的资源. 但是相反Java, Java在高并发上是通过共享内存来达到线程之间的通信的, 也就是说Java需要通过各种锁来实现线程之间的同步、通信机制, 虽然说在代码实现上来说Go要比Java简单些, 但是当熟悉了一个语言之后,就会觉的其实也就那样吧…
不过话说回来, Go的语法有的地方真的挺善解人意的, 但是也有的地方不是很Nice, 就不如说, 其返回值没有像Java那样可以直接按快捷键进行自动填充返回值类型, 并且Go的匿名参数是直接使用_下划线来表示, 对于Java开发者来说, 我就很反感这种以_作为标识符的语言包括python,我也不知道为什么, 所以说从这一方面我还是感觉Java的语法还是写着舒服一点,虽然很啰里啰嗦.


后文继续更新… ~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值