因为go在1.13版本开始引入go mod,所以大多检索到的go环境搭建会稍微有点问题。
1,go、vscode安装
其中注意的是go的GOROOT与GOPATH, GOROOT是go安装目录,GOPATH相当于workspace,会存放project所需下载mod。例如GOPATH:D:/go,这是用于存放下载的mod的目录。另外可以在此目录下新建src,用于存放源码。
2,使能go mod与代理(1.go mod 初探 - 简书)
//linux
export GO111MODULE=on
export GOPROXY=https://mirrors.aliyun.com/goproxy/
//windows
set GO111MODULE=on
set GOPROXY=https://mirrors.aliyun.com/goproxy/
其他可选代理:https://goproxy.cn
如果不修改go代理,可以在vscode里设置代理服务器来访问默认的proxy.golang.org。
3,vscode安装Go插件,并在settings.json中设置goroot,gopath
{
"go.goroot":"C:\\Program Files\\go",
"go.gopath": "D:\\go",
}
4,用vscode在目录D:/go/src/hello 下新建hello.go,填入代码并保存。
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt" // 导入内置 fmt
func main(){ // main函数,是程序执行的入口
fmt.Println("Hello World!") // 在终端打印 Hello World!
}
5, vscode会提示安装go相关工具包,选择install all
6, 提示all success后,在hello路径下输入指令,go mod init hello
7,编译go,go build
8,运行hello.exe
关于mod的更多问题可以参考这些
ggGo import 报错分析及解决方法 could not import 与 项目文件管理_zkyapple的博客-CSDN博客Go Import整理关于 import 报错的分析及解决方法,希望通过此文可解决97%的import问题,3%可能与IDE有关。1 import 过程理解:首先明确 GOROOT 和 GOPATH 绝对路径,通过命令行go env即可查看。包依赖引用的寻找过程:举例*.go文件中 import "custompkg"会查找如下路径:<GOROOT>/src/custompkg 表示from $GOROOT;<GOPATH>/src/custompkg 表示fromhttps://blog.csdn.net/zkyapple/article/details/112108283我就想试试github.com/gin-gonic/gin,为什么死活都run不起来 - Go语言中文网 - Golang中文社区三分钟掌握Go mod常用与高级操作 - 知乎
如果vscode报同级目录下的自定义mod package文件夹找不到,import {mod} not found,可以在main的go mod 中添加指定mod的位置。
module main go 1.17 require example v0.0.0 replace example => ./example