【Go语言系列】1.1、GO语言简介:什么是GO语言
一、go的起源
go语言的所有设计者都说,设计go语言是因为 c++ 给他们带来了挫败感。在 google i/o 2012 的 go 设计小组见面会上,rob pike 是这样说的: 我们做了大量的 c++ 开发,厌烦了等待编译完成,尽管这是玩笑,但在很大程度上来说也是事实。
go 语言起源 2007 年,并于 2009 年正式对外发布。它从 2009 年 9 月 21 日开始作为谷歌公司 20% 兼职项目,即相关员工利用 20% 的空余时间来参与 go 语言的研发工作。
二、go的创始人
他们都是计算机科学领域的重量级人物。
1、ken thompson
贝尔实验室 unix 团队成员,c语言、unix 和 plan 9 的创始人之一,在 20 世纪 70 年代,设计并实现了最初的 unix 操作系统,仅从这一点说,他对计算机科学的贡献怎么强调都不过分。他还与 rob pike 合作设计了 utf-8 编码方案。
2、rob pike
go语言项目总负责人,贝尔实验室 unix 团队成员,除帮助设计 utf-8 外,还帮助开发了分布式多用户操作系统 plan 9、inferno 操作系统和 limbo 编程语言,并与人合著了《the unix programming environment》,对 unix 的设计理念做了正统的阐述。
3、robert griesemer
就职于 google,参与开发 java hotspot 虚拟机,对语言设计有深入的认识,并负责 chrome 浏览器和 node.js 使用的 google v8 javascript 引擎的代码生成部分。
三、go的吉详物
其实是一种英文名为gopher的小动物,中文叫囊地鼠。由go 设计者之一 rob pike 的妻子renee french 设计
四、go语言的特点
1、go语言是编译型语言。这不同于 python、ruby 和 javascript 等语言,它们不包含编译步骤。
2、go 自带了编译器,因此无须单独安装编译器。
3、go语言具有“部署简单、并发性好、语言设计良好、执行性能好”等优势。它起源于 2007 年,并在 2009 年正式对外发布。
4、go语言的主要目标是“兼具 python 等动态语言的开发速度和 c/c++ 等编译型语言的性能与安全性”。
5、go语言它不但能让你访问底层操作系统,还提供了强大的原生网络编程和并发编程支持。很多知名的开源项目用go实现,例如:docker、go-ethereum、thrraform 和 kubernetes。
6、go语言是“互联网时代的c语言”。go 从c语言继承了相似的表达式语法、控制流结构、基础数据类型、调用参数传值、指针等很多思想,还有c语言一直所看中的编译后机器码的运行效率以及和现有操作系统的无缝适配。
7、go语言没有类和继承的概念,它和 java 或 c# 看起来并不相同。但是它通过接口(interface)的概念来实现多态性。
8、go语言有一个清晰易懂的轻量级类型系统,在类型之间也没有层级之说。因此可以说go语言是一门混合型的语言。
五、语言特性
1、自动垃圾回收
2、更丰富的内置类型
3、函数多返回值
4、错误处理
5、匿名函数和闭包
6、类型和接口
7、并发编程
8、反射
9、语言交互性
上一篇: C# 命名规则
下一篇: Servlet之Response对象