初识 Go 语言

Go 语言是一门完全开源的编程语言,使用BSD授权许可,任何人都可以进行商业软件的开发而不需要支付任何费用。

Go 语言中极大的简化了类 C 语言的语法,使得 Go 比 C/C++ 的语法更加简洁和干净。同时 Go 语言也拥有一些动态语言的特性,使用 Python 和 Ruby 的开发者们在使用 Go 语言的时候感觉非常容易上手。

在 Go 语言出现之前,开发者们总是面临非常艰难的抉择,究竟是使用执行速度快但是编译速度并不理想的语言(如:C++),还是使用编译速度较快但执行效率不佳的语言(如:.NET、Java),或者说开发难度较低但执行速度一般的动态语言呢?显然,Go 语言在这 3 个条件之间做到了最佳的平衡:快速编译,高效执行,易于开发。

Go 语言的发展目标就是将静态语言的安全性和高效性与动态语言的易开发性有机结合,达到完美平衡,从而是变成变得更加有趣。因此 Go 语言是一门类型安全和内存安全的编程语言。虽然 Go 语言中仍有指针的存在,但并不允许进行指针运算。

Go 语言的另一个目标就是对于网络通信、并发和并行编程的极佳支持,从而更好的利用大量的分布式和多核的计算机。设计者通过 goroutine 这种轻量级线程的概念来实现这个目标,然后通过 channel 来实现各个 goroutine 之间的通信。实现了分段栈增长和 goroutine 在线程基础上多路复用技术的自动化。

Go 语言中另一个非常重要的特性就是它的构建速度(编译和链接到机器代码的速度),一般情况下构建一个程序的时间只需要几百毫秒到几秒之间。

Go 语言采用包模型,通过严格的依赖关系检查机制来加快程序构建的速度,提供了非常好的量测性。

作为静态语言的 Go 语言,通过自身优良的构建机制,整个 Go 语言标准库的编译时间一般都在 20 秒以内,其它的常规项目也只需要半秒钟的时间来完成编译工作。使得程序的构建过程变得微不足道,拥有了像脚本语言和动态语言那样的高效开发的能力。

另外,Go 语言在执行速度方面也可以与 C/C++ 相提并论。

由于内存问题(通常称为内存泄漏)长期以来一直伴随着 C++ 的开发者们。尽管 Go 语言像其它静态语言一样执行本地代码,但它依旧运行在某种意义上的虚拟机,以此来实现高效快速的垃圾回收(使用了一个简单的标记-清除算法)。

Go 语言还能够在运行时进行反射相关的操作。

使用 go install 能够很轻松地对第三方包进行部署。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值