Golang项目配置运行教程
- 1.安装Golang
- 下载安装包
- 安装
- 2.Goland配置
- 2.1 环境
- 2.2 goland配置
- 2.2.1 没有makefile的情况
- 2.2.2 有makefile的情况
- 3.跨平台项目
- 4.补充
注意,本项目描述的是git clone下来的Golang项目配置运行教程,并不是从头创建一个Golang项目并运行
作者是在win11系统上使用goland进行的实践,其他操作系统和比编辑器请谨慎参考。
1.安装Golang
下载安装包
打开golang官方网站All releases,下载自己需要且符合自己操作系统及指令集的版本
注意一下从右往左第二列,已经告诉什么指令集架构使用什么安装包了,现在绝大多数windows电脑都是x86-64,当然,也可以兼容x86,注意不要把amd和arm搞混了
不要因为自己电脑是intel的不敢下载amd64,这只是因为amd先搞出来的,所以x86-64也叫amd64
简单指令集是 arm 架构的 CPU 主要有高通、三星、苹果、华为海思、联发科等公司。
复杂指令集是 x86、x64(也叫 x86-64, amd64) 两种架构, 该架构 CPU 主要是 Intel 和 AMD 两家公司
安装
作者下载amd64的压缩包版本,只需要下载解压后配置环境变量
打开环境变量窗口新增
GOROOT安装的目录
在Path中新增
2.Goland配置
2.1 环境
go的依赖管理演化:GOPATH -> GO Vendor -> Go Module
现在绝大多数项目是使用Go Module,这里也默认使用Go Module
Goland的Module相关环境变量
- GOPROXY=https://goproxy.cn,direct # 代理
- GONOPROXY=xxx # xxx网站不通过代理
- GOPRIVATE=xxx # 私有仓库的依赖代理
可以通过命令go env
查看环境,注意如果有网址也不要加双引号
存在go.mod文件的情况下,直接go mod tiny即可
go.mod
注意私有仓库必须得有访问权限
注意,windows下go mod安装的包的存储路径默认为
C:\Users\你的用户名\go\pkg\mod
go mod 未提供删除包的命令,可以选择到该目录下直接删除
2.2 goland配置
2.2.1 没有makefile的情况
每次创建项目之后,我们都需要对 Goland 进行一些配置,在 Goland 的右上方找到“Add Configuration”并单击。
在弹出的窗口中点击“+”,并在下拉菜单中选择“Go Build”。
点击“Go Build”之后,在窗口中填写对应的信息,如下所示。
上图中有以下几点需要注意:
名称:为本条配置信息的名称,可以自定义,也可以使用系统默认的值;
Run kind:这里需要设置为“Directory”;
Directory:用来设置 main 包所在的目录,不能为空;
Output directory:用来设置编译后生成的可执行文件的存放目录,可以为空,为空时默认不生成可执行文件;
Working directory:用来设置程序的运行目录,可以与“Directory”的设置相同,但是不能为空。
提示:除了上面提到的几点外,其余的配置项使用系统的默认值即可,无需修改。
2.2.2 有makefile的情况
首先,windows下是不能直接运行makefile文件当中的命令的
参考https://blog.csdn.net/weixin_53795646/article/details/128387026安装Chocolatey,再用Chocolatey安装make
需要注意的是,如果不设置环境变量,需要到chocolatery安装目录下执行命令
C:\ProgramData\chocolatey\bin>choco install make
打开makefile文件,里面命令可以直接点击运行
这上面go mod涉及到升级操作,谨慎运行,建议有go.mod的情况下只运行go mod tidy
- 点击mod左边箭头进行依赖整理
- 然后点击build左边箭头进行编译
- 最后点击run左边箭头运行项目
3.跨平台项目
有时候,项目涉及多平台,一些系统调用相关的代码不一定通用,有些可以选择性编译,但有些就只能在Linux运行了
//go:build !windows
// +build !windowspackage gracefulimport ("os""syscall"
)var RestartSignals = []os.Signal{syscall.SIGUSR1}
4.补充
谨防go.mod被误更改,Goland
Ctrl+Shift+A可以打开万能窗口,输入“差异”可以打开差异窗口比较不同文件