1、golang编译器下载
可自行选择版本,建议1.17以上版本。 下载后,直接安装即可(路径可自己选择)。
2、环境变量配置
2.1此电脑->属性->高级环境设置->环境变量->系统变量path->编辑->新建
找到go.exe的路径。
2.2新建文件夹Go用于存放工程代码
新建文件夹Go用于存放工程代码(可创建在任意磁盘),并在该文件夹下创建 bin、pkg、src 这三个文件夹,其中 bin 文件夹用于存放在编译项目时,生成的可执行文件,pkg文件夹用于存放在编译项目时,生成的包文件,src 文件夹用于存放编写的代码。
2.3系统变量的修改
| 变量名 | 变量值 |
|---|---|
| GO111MODULE | on |
| GOBIN | D:\work\Go\bin |
| GOPATH | D:\work\Go |
| GOPROXY | goproxy.cn |
| GOROOT | D:\soft\Go |
在系统变量中新建这5个变量,到此环境变量配置完成。其中 GOPATH 和 GOBIN 都是新建的用于存放代码的 Go 目录, GOROOT 是 GO 编译器安装的目录。
2.4确定
3、输出第一个go程序
3.1
在D:\work\Go\src目录下新建文件夹命名为first_test,用于存放第一个go程序。
3.2
打开vscode,进入新建的 first_test 文件夹中,新建一个 go 文件,命名为 hello.go ,之后在这个 go 文件中输入以下代码,然后按 Ctrl + s 保存代码,并运行。
3.3如果报错:
则在终端输入:
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine")
即可成功运行。
4、其它问题
4.1
第二次打开文件时,package main会出现红线并提示,虽然这样不影响运行,但是每次写代码时都会有红线,看着就很难受,那么该怎么消除这个红线呢?
4.2
- 通过翻译,我们发现,go module模式是分为两种的,分别是单模块和多模块,单模块是指该文件及其子目录下只能有一个go.mod文件,如果新建包或者移动到该目录下,会构成子代嵌套,依旧视为是一个module。
- 多模块是默认关闭的,所以要手动打开,一般官方推荐的方法是采用工作区的方式,也就是为每个模块创建一个工作区文件夹,这样每个模块都会有自己的作用域,并且不会跨模块工作。那么怎么为多模块配置工作区呢?
4.3解决办法
设置->拓展->Go->Edit in settings.json->添加代码->重启
之后在代码中增加如下代码:
"gopls": { "experimentalWorkspaceModule": true, },
保存设置并重启vscode,重新导入工作文件夹,就发现package下面的小红线消失了。
4.4其它
- 注意,import后面跟的是()而不是{},我就是在这里出错,导致找了很久的bug。
- 这里的编译还是比较严格的,比如一个变量你只赋值,但是没用,那么运行就会失败,并提示你有变量没用。