Go语言入门【二】:为什么要使用Go语言

知米丶无忌 · · 1183 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。


go吉祥物

Go语言是google推出的新兴后端开发语言,我认识的人里,用了都说好。经过前段时间的学习,做个总结。

Go语言的主要优势

工程化
  • 强制代码风格,通过gofmt工具,方便团队协作。
  • 依赖管理的语言级别支持(GOPATH),类似于在Java中使用了maven,Gradle工具。
  • 容器技术docker用go编写,go语言在容器应用上有很大的亲和力,譬如通过交叉编译可以只打包可执行程序,极大减小容器的体积。由于这一点很大程度上属于docker的优势,算半条。
  • 交叉编译为目标OS的可执行代码十分方便,对制作命令行小工提高效率。
  • 开源生态足够丰富,涌现大量的优秀项目和第三方组件。参考:https://github.com/avelino/awesome-go
语言本身
  • goroutine给并发编程带来了性能和开发速度的极大提升,不再需要复杂的多线程代码。
  • 接口的非侵入性。go的接口重于功能而非血统,取消了implements关键字,贯彻了邓小平理论『只要能抓老鼠就是好猫』。
  • 强制使用utf-8编码,乱码问题减少
  • 关键字少,取消分号,文法简洁。
  • go自带的包满足了大部分后端开发的需要,这属于『后发优势』。举例如log自带包就很足够,而Java中不引入log4j则很难灵活日志。又比如发送http请求,只需要使用net/http包就够用,Java中需要引入apache-httpclient。

当前Go语言的一些问题:

  • IDE生态不够丰富,目前使用下来体验最好的是IntelliJ IDEA安装golang-plugin配合delve做debug。然而debug体验略有欠缺,比如不能逐行跟踪。参考https://github.com/go-lang-plugin-org/go-lang-idea-plugin
  • 版本还在激烈的迭代,未来可能会有重大更新,不够稳定。

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:知米丶无忌

查看原文:Go语言入门【二】:为什么要使用Go语言

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1183 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传