【后端与Go】Windows下的Golang开发环境搭建及基本语法 | 青训营笔记

528 阅读7分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天

本文主要包括 Golang 语言安装、基于 GoLand 配置 Go 语言开发环境。

一、Go语言简介

Go(又称 Golang)起源于2007年,并于2009年正式对外发布。Go 是一种静态强类型、编译型语言。Go 语言语法与 C 相近。

Go 语言的8大特点:

  1. 高性能、高并发;
  2. 语法简单、学习曲线平缓;
  3. 丰富的标准库;
  4. 完善的工具链;
  5. 静态链接;
  6. 快速编译;
  7. 跨平台;
  8. 垃圾回收。

二、windows 系统下安装安装 Golang

2.1 下载安装包

搭建 Go 语言的开发环境首先应下载 Golang 安装包。

  1. 进入 Go 官网:go.dev/,根据自己的电脑系统,选择下载对应平台最新版本的安装包。
  2. 若上述地址无法访问,可以将访问地址更改为:studygolang.com/dl。下载对应版本。
  3. 国内访问 github 的速度比较慢,需要配置 go mod proxy,可使用七牛的 goproxy 服务队 Go 进行加速。这样可以加快下载第三方依赖包的速度。具体设置参考:goproxy.cn/

这里下载的是 windows 系统下的1.20版本:

image.png

2.2 安装 Golang

(1)下载完成后,双击安装,Windows 下一路 点击【next】。

image.png

(2)勾选接受协议,点击 【next】。

image.png (3)修改安装路径,点击 【next】。

1.1.png

(4)点击【install】开始安装、等待一会点击【finish】 安装完成。

image.png

image.png

(5)cmd 控制台输入 go version ,查看 Go 版本,检测是否安装成功。

image.png

表示已经安装配置成功。

2.3 配置环境变量

cmd 控制台输入:go env 查看 Go 的当前变量。

image.png

2.3.1 配置 GOROOT 环境变量

GOROOT 环境变量即 go 的安装路径,按照如下方法设置:

(1)打开【高级系统设置】、【环境变量】

image.png

(1)新建系统变量 GOROOT 变量,设置变量值为 Go 安装目录。

image.png

2.3.2 配置GOPATH环境变量

GOPATH 是 go 早期的设置方式,是 go 的工作区,GOPATH 是存放 go 编程时下载的第三方库文件、编译生成的文件等。 后面随着 go module 的机制,GOPATH 已经不那么重要了,关于 GOPATH 可以使用默认的路径,也可以使用自己创建的命令。

(1)在本地创建文件夹 GOPATH 用于存放 Go 语言源代码目录,同时,在该文件夹目录下 bin、pkg、src 共3个文件夹,这是 go 默认的习惯,存放不同类型的文件。

image.png

(2)创建用户变量GOPATH,注意,这里是用户变量
创建过程类似于前面GOROOT环境变量的创建:

image.png

查看用户变量的path 值是否含有 GOPATH 的变量值,没有则需要编辑,将 %GOPATH%\bin 增添上去。

image.png

参考文档:zhuge.blog.csdn.net/article/det…

上面步骤(2)的用户变量和下面步骤(3)的系统变量两者择其一进行创建即可。

(3)接下来试一下,创建系统变量 GOPATH。如果要创建系统变量 GOPATH 需要把默认的用户变量 GOPATH 删去,再次创建(重新设置)系统变量 GOPATH :

image.png

(4)更改系统变量 PATH :将 %GOPATH%\bin 添加到 path 路径中去

image.png

参考文档: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

image.png

cmd 控制台输入:go env 查看是否配置成功

image.png

参考文档:zhuge.blog.csdn.net/article/det…

(3)创建本地的环境变量

上述两种方式是在当前的shell中生效,如果为了始终生效,最好还是在环境变量中新建变量 GO111MODULEGOPROXY 及变量值,如下:

image.png

三、Windows 系统下 GoLand 的安装与配置

Go 语言的开发工具可以选择:VS Code  , 或者 GoLand,也可以用:www.jetbrains.com.cn/en-us/go/ 访问。

  1. 从扩展管理中安装 Go 插件
  2. 安装插件依赖的工具
  3. 按 ctrl+shift+p 调出命令面板,
  4. 输入 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版本。

image.png

  • (2) goland 下载完成后,以管理员身份运行。

image.png

  • 更改安装目录,整个安装过程就一直默认下一步即可。

image.png

  • 这一步全勾选

image.png

  • 默认点击【install】

image.png

  • (3) 安装完成后,需要重启(reboot)电脑,可选择立即重启还是稍后重启。图中是立即重启。

image.png

此外 Goland 是一款收费的软件,可以先使用30天,或者想其他办法解决。 可以参考这篇文档申请注册学生账号,延长使用时间。

下一节讲述第一次运行 GoLand 的配置以及 go 的基本语法。