为什么我们要学习GO语言呢?

作为程序员而言, 往往对于学习新的语言都是有抗拒的 。如果你用惯了 Java ,那么你可能不
太愿意去学 Python ,如果你刚学 C 或者 C++ 可能你也会看不上 Java 。因为这个原因还会引发
很多口水仗,这很正常。我当时写 C++ 的时候也看不上 Java ,写了 Java 又不想学 Python ,现
在学会了 Python ,有时候也会不想看其他语言写的代码。
但是随着我们的成长和实力的提升,我逐渐发现学习一门语言的 成本在飞快地下降 。毕竟天
下语言都是程序,就好像武侠小说里各门各派的武功眼花缭乱,但是归结起来无非是拳脚功
夫、刀剑或者是内功这么几种。语言也是一样,虽然我会的语言也不够多,远远没达到可以
指点江山的地步。但也发现了很多语言之间的相关性实在是很强,有些理念一脉相承,有些
更像是一个模子里刻出来的。既然如此,我们为什么需要学习 Go 这样一门语言呢?
我个人觉得 Golang 是一门非常有个性的语言,长处与短处都非常的明显。关于它的长处很
多,相比于一一列举出来,在实际学习和运用的过程当中领会到的感受会深得多。
Hello World
学语言第一件事就是敲 Hello World ,我想所有语言都不例外,我们也来看下 Golang Hello
World ,来看下它的基本结构。

我们来简单看下这段代码,可以把这段代码分成三个部分。

 

最上面的是模块名,也可以说成是包名,然后是引入包的语句。这一块其实没什么好说的,
很多语言都是这样的结果,比如 Java Python 。在 Golang 当中 main package 表示一个独立
的程序 ,而不是一个包。在 main package 下的 main 函数代表这个独立程序的执行入口,和
C++ 以及 Java 当中的 main 函数比较类似。我们可以在 main 函数里调用其他包的各种函数。
fmt Golang 当中的 标准输出包 ,我们调用它来输出我们想打印的东西。
写完了 Hello World 之后就要执行了, Golang 提供了两种执行方式,一种是直接 go run + 要执
行的文件名。还有一种是和 C++ 一样先进行编译,再通过 ./ 调用编译之后的二进制包。
当然执行之前我们需要在电脑上配置 Golang 的环境,这方面网上的资料很多,并且 Golang
的安装也比较简单,基本上没有什么坑,所以 照着网上的博客安装就好了
我们来分别看下这两种调用方式,第一种我们直接使用 go run 执行代码:
还有一种方式是我们先通过 go build Golang 的代码 先进行编译 ,会生成一个二进制文件,
之后我们直接 ./ 运行这个文件。
所以从这里我们可以看出来, Golang 是编译型语言而不是解释性语言 ,因此它的效率会非常
高,实际上由于 Golang 的一些底层设计和特性, Golang 的运行效率非常高,在绝大多数场
景比 Java 更快,仅仅次于 C++
IDE
最后简单聊聊 Golang 的开发环境,其实现在开发环境已经普世化了,很多代码编辑器可以用
来写各种语言。比如业内比较流行的 vscode Atom Sublime 等等,这几种当中我个人最
喜欢 vscode ,功能非常强大,拥有海量的插件支持,并且页面风格和使用体验也不错,并且
还是免费的
另外一个比较常用的是 Goland ,它是 Jet Brains 公司 专门为 Golang 开发的 IDE Jet Brains
司专门发开各种语言的 IDE ,几乎每一种语言的 IDE 都广受欢迎。写过 Java 的同学应该对
IDEA 都不陌生,它的体验比 eclipse 要好用得多。同样, Goland 对于 Golang 的支持也非常
好,使用体验非常棒,而且如果之前用过它家的其他产品会非常适应。
Goland 页面风格以及各方面体验都非常棒,但缺点也很明显,一个是 基本上只支持
Golang ,另一个缺点就是 。免费的社区版要阉割掉一些功能,而专业版则要好几千人民
币。不过如果是学生的话可以免费申请,不得不说还是非常人性化

除了这些之外,还有七牛团队开源的 liteide ,基于 C++ QT 开发,因此执行效率很高,但据说
调试功能不太好用。我也没有用过,感兴趣的小伙伴可以试试。

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值