文章基于windows系统,Go 1.22.5版本
Windows下载安装
Go官网,下载Windows系统安装包即可,官网链接: https://golang.google.cn/
环境变量配置
- GOROOT:指向Go的安装目录,该目录下包含了Go语言的编译器、标准库以及其他工具链
- Path:里面添加
%GOROOT%\bin
- GOPATH:go的工作空间 1.11版本引入GO MODULES ,1.13后GOPATH完全被GO MODULES替代
go version
检查是否安装并配置好
Go环境
- 查看环境配置文件:
go env
- 启用Go模块:
go env -w GO111MODULE=on
- 更换Go代理为国内地址:
go env -w GOPROXY=https://goproxy.cn,direct
GOPATH和GO MODULES
两者都是Go项目的依赖项和包管理机制,1.1版本引入GO MODULES,1.3版本替代GOPATH
总结
- GOPATH是全局工作空间,用于管理依赖项,存在冲突和切换项目时的管理问题
- GO MODULES是独立于项目的依赖项管理机制,提供了更好的隔离性、版本控制和可重现性
GOPATH
- GOPATH是一个环境变量,用来指定工作空间,是Go早期的全局依赖项管理机制
- GOPATH定义了Go项目的根目录,包含src、pkg、bin。src目录用来存放源代码文件,pkg目录用来存放编译后的包对象文件,bin目录存放可执行文件
- GOPATH的机制下所有项目共享同一个工作空间,并且依赖项被下载到src目录下
GO MODULES
- 允许在每个项目的独立目录中管理依赖项
- 通过在每个项目的根目录下创建要给go.mod文件进行依赖项管理
- go.mod文件记录了项目的模块路径、依赖项以及特定版本的信息
- 使用GO MODULES可以明确指定所需依赖项的版本,避免版本冲突,并提供更好的可重现性
- GO MODULES还提供了自动下载和更新依赖项的功能
VsCode集成Go开发环境
安装Go插件:Go
更新Go工具:ctrl+shift+p 输入:Go:Install/Update Tools
初始化项目
- 创建项目文件夹:
mkdir first-project
- 初始化项目:
go mod init example.com/first-project
- 打开项目后存在go.mod文件,内容如下
module example.com/first-project
go 1.22.5
- 新建main.go文件
package main
import "fmt"
func main() {
fmt.Printf("first project")
}
- 执行
go run main.go
运行,正确打印"first project"即初始化成功