您的位置 首页 golang

IT 技能图谱の Golang工程师技能图谱(附 Xmind 源文件)

上一篇文章: 产品经理一定要了解的主流开发语言


Go语言

Go 语言是 谷歌 推出的一种全新的 编程语言 ,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克 (Rob Pike) 说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。2009 年 7 月份,谷歌曾发布了 Simple 语言,它是用来开发 Android 应用。

Go语言简史

2007 年,谷歌工程师 Rob Pike, Ken Thompson 和 Robert Griesemer 开始设计一门全新的语言,这是 Go 语言的最初原型。

2009 年 11 月 10 日,Go 语言以开放源代码的方式向全球发布。

2011 年 3 月 16 日,Go 语言的第一个稳定 (stable) 版本 r56 发布。

2012 年 3 月 28 日,Go 语言的第一个正式版本 Go1 发布。

2013 年 4 月 04 日,Go 语言的第一个 Go 1.1beta1 测试版发布。

2013 年 4 月 08 日,Go 语言的第二个 Go 1.1beta2 测试版发布。

2013 年 5 月 02 日,Go 语言 Go 1.1RC1 版发布。

2013 年 5 月 07 日,Go 语言 Go 1.1RC2 版发布。

2013 年 5 月 09 日,Go 语言 Go 1.1RC3 版发布。

2013 年 5 月 13 日,Go 语言 Go 1.1 正式版发布。

2013 年 9 月 20 日,Go 语言 Go 1.2RC1 版发布。

2013 年 12 月 1 日,Go 语言 Go 1.2 正式版发布。

2014 年 6 月 18 日,Go 语言 Go 1.3 版发布。

2014 年 12 月 10 日,Go 语言 Go 1.4 版发布。

2015 年 8 月 19 日,Go 语言 Go 1.5 版发布,本次更新中移除了” 最后残余的 C 代码”。

2016 年 2 月 17 日,Go 语言 Go 1.6 版发布。

2016 年 8 月 15 日,Go 语言 Go 1.7 版发布。

2017 年 2 月 17 日,Go 语言 Go 1.8 版发布。

2017 年 8 月 24 日,Go 语言 Go 1.9 版发布。

Go语言的优点

1、部署简单。Go 编译生成的是一个静态 可执行文件 ,除了 glibc 外没有其他外部依赖。这让部署变得异常方便:目标机器上只需要一个基础的系统和必要的管理、监控工具,完全不需要操心应用所需的各种包、库的依赖关系,大大减轻了维护的负担。

2、并发性好。Goroutine 和 channel 使得编写高并发的服务端软件变得相当容易,很多情况下完全不需要考虑锁机制以及由此带来的各种问题。单个 Go 应用也能有效的利用多个 CPU 核,并行执行的性能好。

3、良好的语言设计。从学术的角度讲 Go 语言其实非常平庸,不支持许多高级的语言特性;但从工程的角度讲,Go 的设计是非常优秀的:规范足够简单灵活,有其他语言基础的程序员都能迅速上手。更重要的是 Go 自带完善的工具链,大大提高了团队协作的一致性。比如 gofmt 自动排版 Go 代码,很大程度上杜绝了不同人写的代码排版风格不一致的问题。把编辑器配置成在编辑存档的时候自动运行 gofmt,这样在编写代码的时候可以随意摆放位置,存档的时候自动变成正确排版的代码。此外还有 gofix, govet 等非常有用的工具。

4、执行性能好。虽然不如 C 和 Java ,但通常比原生 Python 应用还是高一个数量级的,适合编写一些瓶颈业务。内存占用也非常省。

Go语言的缺点

1.1 不允许左花括号另起一行

1.2 编译器莫名其妙地给行尾加上 分号

1.3 极度强调编译速度,不惜放弃本应提供的功能

1.4 错误处理机制太原始

1.5 垃圾回收器(GC)不完善、有重大缺陷

1.6 禁止未使用变量和多余 import

1.7 创建对象的方式太多令人纠结

1.8 对象没有构造函数和 析构函数

1.9 defer 语句的语义设定不甚合理

1.10 许多语言内置设施不支持用户定义的类型

1.11 没有 泛型 支持,常见数据类型接口丑陋

1.12 实现接口不需要明确声明

1.13 省掉小括号却省不掉花括号

1.14 编译生成的可执行文件尺寸非常大

1.15 不支持动态加载 类库

Golang工程师技能图谱

(由于头条号规定,Xmind 源文件 下载链接不能放在正文里,大家可以给我留言)


文章来源:智云一二三科技

文章标题:IT 技能图谱の Golang工程师技能图谱(附 Xmind 源文件)

文章地址:https://www.zhihuclub.com/98136.shtml

关于作者: 智云科技

热门文章

网站地图