一、Go语言设计初衷(为什么设计Go语言?)
1.1、设计Go源是为了解决当时Google开发遇到的困难:
-
大量的C++代码,同时有引入了Java和Python
-
成千上万的工程师
-
数以万计的代码
-
分布式的编译系统
-
数百万的服务器
1.2、Google开发中的痛点
-
编译慢
-
失控的依赖
-
每个工程师只是用了一个语言里面的一部分
-
程序难以维护(可读性差,文档不清晰等)
-
更新的花费越来越长
-
交叉编译困难
1.3、Go语言的特色
-
没有继承多态的OO
-
强制一致类型
-
interface不需要显示声明(Duch Typing)
-
没有异常处理(Error is value)
-
基于首字母的可访问特性
-
不用import或者变量引起编译错误
-
完整而卓越的标准库包
二、Go语言的优势
1.学习曲线容易
Go语言语法简单,包含了类C语法,因为Go语言容易学习,所以一个普通的大学生花几个星期就能写出来可以上手的,高性能的应用。
2.效率:快速的编译时间,开发效率和运行效率高
开发过程中相当于Java和C++呆滞的编译速度,Go的快速编译时间是一个主要的效率优势。Go拥有接近C的运行效率和接近PHP的开发效率
3.出身名门,血统纯正
4.自由高效:组合的思想,无侵入式的接口
5.强大的标准库
这包括互联网应用,系统编程和网络编程。网络层,系统层的库非常实用。
6.部署方便:二进制文件,Copy部署
7.简单的并发
8.稳定性
Go语言主要有静态语言,天生并发,内置GC(垃圾回收),安全性高,语法简单,编译快速这几个特性,这决定了Go的三个高富帅特性:运行快,开发快和部署快。
9.Go语言能开发什么?
-
服务器编程,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如:处理日志,数据打包,虚拟机处理,文件系统。
-
分布式系统,数据库代理等,例如ETCD
-
网络编程,这一块目前应用最广,包括:Web应用,API应用,下载应用,而Go内置的net/http包基本上把我们平常用到的网络功能都实现了
-
数据库操作
-
开发云平台,目前过内外很多云平台在采用Go开发
三、Golang安装配置
3.1 下载适合自己电脑的Golang
https://golang.org/dl/
https://www.studygolang.com/dl