这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
本文主要包括 Golang 语言安装、基于 GoLand 配置 Go 语言开发环境。
一、Go语言简介
Go(又称 Golang)起源于2007年,并于2009年正式对外发布。Go 是一种静态强类型、编译型语言。Go 语言语法与 C 相近。
Go 语言的8大特点:
- 高性能、高并发;
- 语法简单、学习曲线平缓;
- 丰富的标准库;
- 完善的工具链;
- 静态链接;
- 快速编译;
- 跨平台;
- 垃圾回收。
二、windows 系统下安装安装 Golang
2.1 下载安装包
搭建 Go 语言的开发环境首先应下载 Golang 安装包。
- 进入 Go 官网:go.dev/,根据自己的电脑系统,选择下载对应平台最新版本的安装包。
- 若上述地址无法访问,可以将访问地址更改为:studygolang.com/dl。下载对应版本。
- 国内访问 github 的速度比较慢,需要配置 go mod proxy,可使用七牛的 goproxy 服务队 Go 进行加速。这样可以加快下载第三方依赖包的速度。具体设置参考:goproxy.cn/
这里下载的是 windows 系统下的1.20版本:
2.2 安装 Golang
(1)下载完成后,双击安装,Windows 下一路 点击【next】。
(2)勾选接受协议,点击 【next】。
(3)修改安装路径,点击 【next】。
(4)点击【install】开始安装、等待一会点击【finish】 安装完成。
(5)cmd 控制台输入 go version ,查看 Go 版本,检测是否安装成功。
表示已经安装配置成功。
2.3 配置环境变量
cmd 控制台输入:go env
查看 Go 的当前变量。
2.3.1 配置 GOROOT 环境变量
GOROOT 环境变量即 go 的安装路径,按照如下方法设置:
(1)打开【高级系统设置】、【环境变量】
(1)新建系统变量 GOROOT 变量,设置变量值为 Go 安装目录。
2.3.2 配置GOPATH环境变量
GOPATH 是 go 早期的设置方式,是 go 的工作区,GOPATH 是存放 go 编程时下载的第三方库文件、编译生成的文件等。 后面随着 go module 的机制,GOPATH 已经不那么重要了,关于 GOPATH 可以使用默认的路径,也可以使用自己创建的命令。
(1)在本地创建文件夹 GOPATH 用于存放 Go 语言源代码目录,同时,在该文件夹目录下 bin、pkg、src 共3个文件夹,这是 go 默认的习惯,存放不同类型的文件。
(2)创建用户变量GOPATH,注意,这里是用户变量
创建过程类似于前面GOROOT环境变量的创建:
查看用户变量的path
值是否含有 GOPATH 的变量值,没有则需要编辑,将 %GOPATH%\bin 增添上去。
参考文档:zhuge.blog.csdn.net/article/det…
上面步骤(2)的用户变量和下面步骤(3)的系统变量两者择其一进行创建即可。
(3)接下来试一下,创建系统变量 GOPATH。如果要创建系统变量 GOPATH 需要把默认的用户变量 GOPATH 删去,再次创建(重新设置)系统变量 GOPATH :
(4)更改系统变量 PATH :将 %GOPATH%\bin 添加到 path 路径中去
参考文档:t.csdn.cn/znkKW
更改环境变量 GOPATH 后需要重新打开终端输入 go env
,检测是否更改成功。
2.3.3 设置 GO111MODUULE 和 GOPROXY 变量
(1)GO111MODUULE
GO111MODULE 是 go modules 功能的开关,在没有 go modules 机制时,go 工程中对于第三方功能包的管理非常复杂,也非常专业,这就导致程序员在进行开发的时候,对于第三方功能包的管理很不方便,所以才有了 go modules 机制。这个机制的开关是通过 GO111MODULE 环境变量来配置的。
go env -w GO111MODULE=on
在使用 go modules 时,
GOPATH
是无意义的,不过它还是会把下载的依赖存储在$GOPATH/pkg/mod
中,也会把 go install 的结果放在$GOPATH/bin
中。
当 modules 功能启用时,依赖包的存放位置变更为
$GOPATH/pkg
,允许同一个 package 多个版本并存,且多个项目可以共享缓存的 module。
GO111MODULE=off
,无模块支持,go 命令行将不会支持 module 功能,寻找依赖包的方式将会沿用旧版本那种通过 vendor 目录或者 GOPATH 模式来查找。
GO111MODULE=on
,模块支持,go 命令行会使用 modules,而一点也不会去 GOPATH 目录下查找。
GO111MODULE=auto
,默认值,go 命令行将会根据当前目录来决定是否启用 module 功能。这种情况下可以分为两种情形: (1)当前目录在GOPATH/src
之外且该目录包含go.mod
文件,开启模块支持。 (2)当前文件在包含go.mod
文件的目录下面。
(2)GOPROXY
GOPROXY 表示的是 go 的代理设置,之所以有这个环境变量,是因为 go 这种语言不像 C 语言,在 C 语言中,如果我们想要使用别人的第三方代码,一般有两种途径:
1、将第三方代码源码合并到自己的工程文件中,再合并编译。
2、将第三方代码编译生成的共享库 .so或.dll 文件放到工程目录下,然后通过条件编译来使用。
而在 go 语言中,类似于 java,可以在编程时,引入第三方代码的库地址,比如 git 仓库,然后在编译的时候,IDE 会自动的拉取第三方库文件到当前工程。
这样做虽然很方便,但是带来了一个问题:网速和限制,因为一些第三方代码库是在国外服务器上的,因为一些限制,我们不能很顺利的使用和下载这些仓库,这样就会导致下载缓慢或者失败,所以这个时候就需要一个 代理 来实现下载,这个代理就是中间商,可以跨过限制来访问。
golang 默认 GOPROXY 的官方设置是 goproxy.io 。我们选择使用国内代理七牛下的 windows 设置 goproxy.cn/。
cmd 打开终端执行如下语句:
- 方法一:使用 set 设置
set GO111MODULE=on
set GOPROXY=http://goproxy.cn
- 方法二:使用 -W 写操作
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
cmd 控制台输入:go env
查看是否配置成功
参考文档:zhuge.blog.csdn.net/article/det…
(3)创建本地的环境变量
上述两种方式是在当前的shell中生效,如果为了始终生效,最好还是在环境变量中新建变量 GO111MODULE
和 GOPROXY
及变量值,如下:
三、Windows 系统下 GoLand 的安装与配置
Go 语言的开发工具可以选择:VS Code , 或者 GoLand,也可以用:www.jetbrains.com.cn/en-us/go/ 访问。
- 对于 VS Code需要安装 Go 插件
- 从扩展管理中安装 Go 插件
- 安装插件依赖的工具
- 按
ctrl+shift+p
调出命令面板, - 输入
go install tools
选Go: Install/Update Tools
VS Code 是一个通用的 IDE,虽然支持 golang 开发,但是不如 Goland 功能全面,毕竟 Goland 是专门的 Go 语言开发 IDE。
3.1 GoLand 的安装
- (1) 可通过 Goland官网 下载 Goland 编辑器,Goland 编辑器是收费的,可以考虑使用试用版后购买正版。这里选择下载2021.3.5版本。
- (2) goland 下载完成后,以管理员身份运行。
- 更改安装目录,整个安装过程就一直默认下一步即可。
- 这一步全勾选
- 默认点击【install】
- (3) 安装完成后,需要重启(reboot)电脑,可选择立即重启还是稍后重启。图中是立即重启。
此外 Goland 是一款收费的软件,可以先使用30天,或者想其他办法解决。 可以参考这篇文档申请注册学生账号,延长使用时间。
下一节讲述第一次运行 GoLand 的配置以及 go 的基本语法。