文章目录
- 1.Go语言简介
- 谷歌爸爸
- 投入较大
- 日渐繁华
- 应用方向
- 功能
- 2.背景
- C和C++的普遍问题:
- Python的问题
- 3.Go支持的平台
- 4.总结
- 5.示例
1.Go语言简介
谷歌爸爸
Go语言是谷歌2009发布的第二款开源编程语言。
Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。Go语言可以在不损失应用程序性能的情况下降低代码的复杂性。
投入较大
2007年,谷歌把Go作为一个20%项目开始研发,即让员工抽出本职工作之外时间的20%,投入在该项目上。除了派克外,该项目的成员还有其他谷歌工程师也参与研发。
日渐繁华
国外如Google、AWS、Cloudflare、CoreOS等,国内如七牛、阿里等都已经开始大规模使用Golang开发其云计算相关产品。
大名鼎鼎的Docker,完全用GO实现,业界最为火爆的容器编排管理系统kubernetes,完全用GO实现,之后的Docker Swarm,完全用GO实现。除此之外,还有各种有名的项目如etcd/consul/flannel等等,均使用GO实现。
应用方向
谷歌当初将该语言设计为一款系统编程语言,可以被用于网络服务器、存储系统和数据库中。但是谷歌认为,该语言还有望被用于其它领域。
功能
Go语言的设计是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦。它具有现代的程序语言特色,如垃圾回收,帮助程序设计师处理琐碎和重要的内存管理等问题。Go的速度也非常快,几乎和C或C++程序一样快,且能够快速制作程序。
一般电脑程序通常依序执行,一次进行一项工作,但多核心处理器更适合并行处理许多工作。
2.背景
C/C++/Python我都用过,我来简单说一下这三者的明显缺点。
C和C++的普遍问题:
开发效率低,对开发者的素质要求高;libc只向后兼容,运维难度大。
Python的问题
动态语言,缺少编译过程,低级错误频出;缺少有效的性能分析及调试工具。
3.Go支持的平台
在Go1版本上支持Windows, 苹果Mac OS X, Linux和FreeBSD操作系统。
4.总结
- 语法简单。可以把更多的经历放在解决问题上。
- Type checking. 写出来,编译成功之后,一般就可以运行了。
- 运行简单。不需要动态链接,不需要保证库版本匹配,不需要在部署的时候去折腾。
5.示例
package mainimport "fmt"func main() {fmt.Println("Hello, World!")
}