Go语言的三个作者是:Robert Giresemer,Rob Pike 和 Ken Thompson
Robert 在开发Go之前是Google V8、Chubby和HotSpot JVM的主要贡献者;
Rob主要是Unix、UTF-8、plan 9的作者;
Ken主要是B语言、C语言的作者、Unix之父。
Go语言的主要发展过程
2007年9月,Rob Pike正式命名为Go
2008年5月,Google全力支持该项目;
2009年11月,Go将代码全部开源,它获得了当年的年度语言;
2012年3月28日,Go发布第一个正式的稳定版
Go语言的特点
1.设计Go语言是为了解决当时Google开发者遇到的问题
大量的 C++代码,同时又引入了Java和Python
成千上万行的代码
分布式的编译系统
数百万的服务器
2.Google开发中的痛点:
编译慢
失控的依赖
每个工程师只是用了一个语言里面的一部分
程序难以维护
交叉编译困难
3.如何解决当时的问题和痛点
Go希望成为互联网时代的C语言,因此,Go语言也是足够简单
设计Go语言的目标是为了消除各种缓慢和笨重、改进各种低效和扩展性
4.Go语言的特点
没有继承多态的面向对象
强一致性类型
interface不需要显示声明
没有异常处理
基于首字母的可访问特性
不用的import或者变量引起编译错误
完美而卓越的标准库包
Go语言的优势
1.学习曲线容易
Go语言的语法简单,包含了类C语法。所以Go语言容易学习
2.快速的编译时间、开发效率和运行效率高
Go语言拥有接近C的运行效率和接近PHP的开发效率
3.出身名门、血统纯正
Go语言出自Google公司,Google对这个新的宠儿还是很看重的
4.自由高效:组合的思想、无侵入式的接口
Go语言可以说是开发效率和运行效率的完美结合。天生的并发编程支持,Go语言支持所有的编程范式,包含过程式编程、面向对象编程、面向接口编程、函数式编程
5.强大的标准库
包括互联网应用、系统编程和网络编程,它里面的标准库基本上非常稳定了
6.部署方便:二进制文件、拷贝部署
7.简单的并发
Go是一种非常高效的语言,高度支持并发性。Go是为大数据、微服务、并发而生的一种编程语言。
Go作为一门语言致力于使事情简单化,他并未引入很多新概念,而是聚焦于打造一门简单的语言,他使用起来异常快速和简单,其唯一的创新之处是goroutine和通道。Goroutines是Go面向线程的轻量级方法,而通道是goroutines之间通信的优先方式。
创建Goroutines的成本很低,只需要几千个字节的额外内存,正因为如此,才使得同时运行数百个甚至数千个goroutines成为可能。可以借助通道实现Gotoutines之间的通信。Gotoutines以及基于通道的并发性方法使其非常容易使用所有的CPU内核,并处理并发的IO。
8.稳定性
Go拥有强大的编译检查、严格的编码规范和完整的软件生命周期工具,具有很强的稳定性。Go提供了软件生命周期(开发、测试、部署、维护等等)的各个环节的工具,如:go tool、gofmt、go test。
Go语言的核心特性和优势
Go主要有静态语言、天生并发、内置GC、安全性高、语法简单、编译快速这几个方面的特性,这些特性决定了Go的三个高富帅特性:运行快、开发快、部署快。
Go语言能开发什么
服务器编程,以前用C或者C++做的事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。
分布式系统,数据库代理器等,例如:Etcd。
网络编程,包括Web应用,API应用,下载应用等
数据库操作
开发云平台
领取专属 10元无门槛券
私享最新 技术干货