Go学习
前言:因工作需要最近开始学习go语言了。
首先,我们要了解go语言诞生的背景,尤其是在现在有Java,C/C++, Python等几大巨头割据市场的情况下,为什么还要有Go语言。
一.go语言简介
1.诞生背景
Go语言是Google为了解决目前软件开发的新挑战:
- 多核硬件架构
- 超大规模分布式计算集群
- Web模式导致的前所未有的开发规模和更新速度
2.创始人
姓名 | 简介 |
---|---|
Rob Pike | Unix的早期开发者,UTF-8的创始人 |
Ken Thompson | Unix的创始人,C语言的创世人 |
Robert Griesemer | Google V8 引擎 ,JVM Hot Spot |
3.与其它语言比较
简单
与其它语言相比Go语言关键字数量更少,而且go语言的创世人一直坚持Go只会有这些关键字
c | go | C++ |
---|---|---|
37 | 25 | 84 |
高效
Go是一个编译的强类型语言,与Java不同的是Go在提供了垃圾回收机制的同时,为了提供更高效的内存访问,Go也提供了使用指针进行直接的内存访问
生产力
Go的编程约束,如程序的扩展上。我们看到很多面向对象的编程书中都会说复合大于继承。而在Go中就只支持了复合。
云计算语言
越来越多的应用采用Go语言开发,常见的有docker、kubernetes。由于云端大量使用了docker和kubernetes,所以Go也称之为云计算语言。
区块链语言
区块链是继AI以来最热门的话题了,非常热门的以太网、HYPERLEDGER、ethereum都是可以采用Go语言进行开发的,所以Go语言也被称为区块链开发语言