-
Go 语言是由谷歌公司在 2007 年开始开发的一门语言,目的是能在多核心时代高效编写网络应用程序。Go 语言的创始人 Robert Griesemer、Rob Pike 和 KenThompson都是在计算机发展过程中作出过重要贡献的人。自从 2009 年 11 月正式公开发布后,Go 语言迅速席卷了整个互联网后端开发领域,其社区里不断涌现出类似 vitess、Docker、etcd、Consul 、flannel、nsq、 Kubernetes、 Anthos 、Hugo等重量级的开源项目。
-
Go语言的出身可以说非常豪华,肯·汤普逊是c语言和unix的发明者,罗伯特·格瑞史莫参与设计了Java的HotSpot虚拟机和Chrome浏览器的JavaScript V8引擎,罗博·派克在大名鼎鼎的bell lab侵淫多年,参与了Plan9操作系统、C编译器以及多种语言编译器的设计和实现。Go语言从2009年开源到现在吸引了很多开发者的注意,分别获得了2009年和2016年的TIOBE之星。Jetbrains 发布 2019 开发者生态报告:Java 最主流,Go 最有前途,Go的使用份额已从 2017 年的 8% 大幅跃升到今年的 18%,多达 13% 的开发人员愿意采用或迁移到 Go 语言。
-
Go 是一门开源的编程语言,目的在于降低构建简单、可靠、高效软件的门槛。尽管这门语言借鉴了很多其他语言的**,但是凭借自身统一和自然的表达,Go 程序在本质上完全不同于用其他语言编写的程序。Go 平衡了底层系统语言的能力,以及在现代语言中所见到的高级特性。你可以依靠 Go 语言来构建一个非常快捷、高性能且有足够控制力的编程环境。使用 Go 语言,可以写得更少,做得更多。Go是一个高效、静态类型, 但是又具有解释语言的动态类型特征的系统级语法。
-
2007年9月,雏形设计 ,Rob Pike(罗伯.派克) 正式命名为Go;
-
2008年5月,Google全力支持该项目;
-
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版发布。
-
2018年2月16日,Go语言Go 1.10版发布。
-
2018年8月24日,Go语言Go 1.11版发布。
-
2019年2月25日,GO语言Go1.12版发布。
-
2019年9月4日,GO语言Go1.13版发布。
- 快速编译
- 严格的依赖管理
- 代码风格的强一致性
- 偏向组合而不是继承
- goroutine:轻量的"线程"
- channel: 带类型的,协程安全的管道,类似unix里面的pipe.
- 静态编译
- 垃圾回收
- 简洁的符号和语法
- 平坦的类型系统
- 基于CSP的并发模型
- 高效简单的工具链
- 支持defer延迟调用
- 丰富的标准库
- 面向接口的oop,没有对象与继承,强调组合,以类似于duck-typing的方式编写面向对象;
- 微服务
- DevOps,docker、kubernetes
- 高性能中间件开发,比如数据库中间件、代理服务、消息服务
- 区块链开发,比如go-ipfs、go-ethereum等
- Echo
- Beego
- Gin
- Iris
- GoKit
- Micro
- Byte Dance
- Netflix
- TARGET
- UBER
- Didi
- Tencent
- American Express
- Dropbox
- Ny Times
- Salesforce
- Capital One
- Monzo
- Twitch
- IBM
- Mercado Libre
- BiliBili
- 许世伟, 以 go 为基础的 七牛云存储, go语言在**最早最值得尊重的早期布道者
- 达达, 以 go 为基础的游戏后端,非科班出身的著名游戏公司CTO
- smallnest, go 的 rpcx 远程调用中间件
- 谢大, beego, 很棒很全的web框架,其文档是golang 入门学习到商用的实践经典
- 毛剑, 以 go 重构后上市的 bilibili
-
Golang优质中文技术博客
-
小众博客推荐
-
入门书籍和进阶书籍
-
源码阅读相关
-
英文文档和博客推荐