Go语言简介
什么是Go语言
Go语言起源
Go 语 言 起 源 2007 年, 并 于 2009 年 正 式 对 外 发 布。 它 从 2009 年 9 月 21 日 开 始 作 为 谷 歌 公 司 20% 兼 职 项 目, 即 相 关 员 工 利 用 20% 的 空 余 时 间 来 参 与 Go 语 言 的 研 发 工 作。 该 项 目 的 三 位 领 导 者 均 是 著 名 的 IT 工 程 师: Robert Griesemer, 参 与 开 发 Java HotSpot 虚 拟 机; Rob Pike, Go 语 言 项 目 总 负 责 人, 贝 尔 实 验 室 Unix 团 队 成 员, 参 与 的 项 目 包 括 Plan 9, Inferno 操 作 系 统 和 Limbo 编 程 语 言; Ken Thompson, 贝 尔 实 验 室 Unix 团 队 成 员, C 语 言、 Unix 和 Plan 9 的 创 始 人 之 一, 与 Rob Pike 共 同 开 发 了 UTF-8 字 符 集 规 范。 自 2008 年 1 月 起, Ken Thompson 就 开 始 研 发 一 款 以 C 语 言 为 目 标 结 果 的 编 译 器 来 拓 展 Go 语 言 的 设 计 思 想。
Ivo Balbaert. Go入门指南——The Way to Go(中文版) (Kindle 位置 112-117). 人民邮电出版社.
Go语言特点
- 简洁、快速、安全
- 并行、有趣、开源
- 内存管理、数组安全、编译迅速
GO语言应用场景
- 服务器编程, 如处理日志、数据打包、虚拟机处理、文件系统等
- 分布式系统 (数据库代理、中间件)
- 网络编程 (web应用、api应用)
- 云平台 例如 docker、k8s都是go语言开发的
Go语言官网
https://golang.org/
如果访问速度慢或者无法访问请访问谷歌中国官网
https://golang.google.cn/
安装
我们先访问网站获取对应版本(以下教程以官网为例)
https://golang.org/dl/
推荐选择这里的版本,更多版本可以自行下翻
然后我们选择win版本,会弹出下载
我们下载后双击安装
下一步下一步即可,推荐安装到默认路径(C盘)
安装完成
搭建
进入环境变量页面
我的电脑(右键) > 属性 > 高级系统设置 > 高级 > 环境变量
新建系统变量(值为你的安装路径,默认如图)
然后在系统变量中找到名为'Path'的,双击会弹窗,我们点击新建(如图,如修改安装路径请修改)
完成
测试
我们打开一个cmd窗口
输入'go'
如出现如下页面
代表成功
添加GoPATH
GO1.13+版本使用GOMODULE管理项目,一下内容请略过
GoPATH作用
一个完整的GO项目必须包含 bin pkg src 三个文件夹
bin编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中,如果有多个gopath,那么使用${GOPATH//://bin:}/bin
添加所有的bin目录)
pkg编译时生成的中间文件(比如:.a)
src存放源代码(比如:.go .c .h .s等) 按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)。
所以当我们使用版本控制(Git...)来管理代码时,只需要管理 src 里的代码即可
src 里可以分文件夹来存储多个项目的源代码
而GO语言的执行依赖GOPATH,所以我们需要在环境变量中增加GOPATH
建立工作目录
我们先新建一个文件夹作为我们编写时候的代码存放,必须有上文所说的三个文件夹,如图
新建环境变量
我们进入环境变量(下图是已经添加的效果)
要注意的是,我们先观察用户变量中有没有GOPATH,如果有建议删除使用系统变量来替代
我们在系统变量中新建一个名为GOPATH的变量,值为我们刚才新建的文件夹路径(GOPATH允许加入多个路径)
然后我们点击保存
重启电脑或者注销用户重新登陆
验证
我们在dos中输入
go env
会打印出go的配置
GOPATH部分如果为刚才配置的则没有问题