#### 从Go的背景,现状,应用谈谈为什么需要学习Go
* Go语言是Google开发的一种静态强类型,编译型,并发型,并且支持垃圾回收功能跨平台的编程语言。
* Go的三位创始人:罗伯特格瑞史莫(Robert Giresemer),罗勃 · 派克(Rob Pike)以及肯 · 汤普逊(Ken Thompson)(自行百度这三位人的背景)。
* Go与2009年11月正式推出,成为开放源代码项目,并在Linux以及MaxOSX平台进行了实现,后来追加了Windows系统下的实现, 在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”,目前每隔半年发布一次新的迭代,最新版本是Go1.12。
* 使用Go的项目:docker,etcd,k8s cores 、、、
* 使用Go的公司:七牛,阿里,百度,腾讯,头条,京东、、、
#### 从Go的特性谈谈为什么Go值得学习
* 上手简单,学习曲线低
* Go只有25个关键字,语法简单 ;Java关键字50个;C++11关键字73个
* 标准库完整,强大
* 强大的网络库是Go作为服务端利器的杀手锏
* 严格的依赖管理
* 编程语言层面本身禁止循环依赖,快速的,跨平台,交叉编译,GoModule管理依赖
* 天然的,简单的并发
* 语言层面天然支持并发,一个go关键字就开启一个并发
* 天然的支持测试(单元测试,并发测试)
* 官方统一的测试标准,_test.go 就是对一个go文件的单元测试
* Error is value
* 错误是一个值,程序员直接聚焦错误本身
* 不用的Import或者变量引起编译错误
* 禁止多余的,未使用的import包
* 基于首字母的可访问特性,大写首字母是Public 小写是Private
* 自由高效,组合的思想、无侵入式的接口
* 正交性的设计
* 所有程序员一样的规范,Go官方统一规范,从此不再为标准吵架了
* 稳定性(gofmt, godoc, gotest, gobuild ,goinstall)
* 全方位的工具链支持,跨平台,交叉编译,编译完成就可直接扔到linux部署,都无需安装go开发包
* 支持垃圾回收
#### 总结
* Go的背后是Google,Go的创始者们是大牛,跟着大牛走应该不会错。
* Go的特性决定Go是为软件工程为目的的设计的语言,是为让开发变得更加简单的一门语言,细细琢磨这些特性你会发现确实如此,这也是Go语言在谷歌创立的初衷。
**欢迎大家关注微信公众号:“golang那点事”,更多精彩期待你的到来**
![微信图片_20190721153546.jpg](https://static.studygolang.com/190721/c55fa00b6c19806beda719ee62847c9f.jpg)
有疑问加站长微信联系(非本文作者))