【GO环境安装】mac系统+GoLand使用
文章目录
- 下载安装包
- 环境配置
- GoLand
- Go Modules
下载安装包
地址:GO下载地址
下载好后直接进行安装:
进入terminal,查看是否安装成功:
环境配置
-
在文稿下面创建工作目录:
在文稿下新建Go_Works文件夹,在该文件夹下新建my_Golang目录。
-
配置环境变量
进入Go_works目录,然后vim变量:
vim后,输入i进入input模式,然后粘贴下面(需要进行修改),修改好后按esc退出,然后按shift+:wq
进行保存:
#注意=号前后不能有空格
export GOPATH=/Users/hezhe/Documents/Go_Works/my_Golang #请改成你的项目路径
export GOBIN=$GOPATH/bin #GOLANG运行目录一般不可修改
export PATH=$PATH:$GOBIN
最后不要粘贴vim ~/.bash_profile
,可以回遇到下面错误:
然后输入 source ~/.bash_profile
完成对 Goland 环境变量的配置并生效:
最后检查是否配置成功:
输入 go env 查看配置结果,有下面配置说明完成了
注意:
执行 source ~/.bash_profile 后,GOPATH 是正确的,但重新打开终端后又恢复为默认值。这说明你的配置文件 ~/.bash_profile 并没有在新终端会话中自动加载。
macOS 默认使用 zsh:从 macOS Catalina(10.15)开始,默认的 shell 已切换为 zsh,而不是 bash。因此,如果你修改的是 ~/.bash_profile,它不会被 zsh 自动加载。
未正确加载配置文件:在 zsh 中,默认加载的是 ~/.zshrc,而不是 ~/.bash_profile。
参考下面解决办法:
nano ~/.zshrc
写入和.bash_profile相同的文件,然后保存并退出(按 Ctrl+O 保存,按 Ctrl+X 退出)
最后使这个文件生效即可。
source ~/.zshrc
GoLand
安装好后打开Go_Works目录:
快捷键command+,配置goroot和gopath:
然后新建一个go项目:
然后新建一个main.go文件并运行:
package main
import "fmt"
func main() {
fmt.Println("Hello Go!")
}
运行成功:
Go Modules
现在都是用 Go Modules(通过 go.mod
文件管理项目和依赖),GoLand创建项目时会自行创建一个go.mod
的文件。【没有生成,可通过命令:go mod init my_project_name
】
mod管理摆脱了Go 语言早期(在 Go 1.11 引入模块之前)使用的一种工作区管理方式:
GOPATH 是 Go 的工作区,所有代码默认需要放在 GOPATH 目录下(这是早期的做法)。这个工作区按照以下结构组织代码:
src/
:存放源代码(你的项目和第三方包的代码)。bin/
:存放编译后的可执行文件。pkg/
:存放编译好的中间文件(比如 .a 文件),这些文件可以加速编译。
Go 引入了 模块(Modules) 系统,用于更现代化的依赖管理,摆脱了对 GOPATH 的严格依赖。
- 不再强制使用 GOPATH: 你可以在任意目录下创建 Go 项目,而不需要将项目放在
GOPATH/src
下。 - 使用
go.mod
文件管理依赖:go.mod
文件记录了项目的模块名和依赖项的版本。Go 可以通过 go mod 自动拉取和管理依赖项,而不需要手动放入GOPATH/src
。 - 独立性: 每个项目都有自己的依赖,不会和其他项目冲突。通过
go.mod
,可以明确指定项目的依赖版本。
虽然模块系统可以摆脱对 GOPATH 的依赖,但 GOPATH 仍然有用。主要体现在以下几个方面:
-
缓存依赖包: 当你使用 go get 拉取依赖包时,Go 会将这些依赖缓存到
GOPATH/pkg/mod
中。这个缓存用于加快依赖解析和构建速度。 -
默认模块存储位置: 如果你在
GOPATH/src
下创建项目,并启用了模块系统(即有go.mod
文件),它依然可以正常工作,但推荐你将项目放到GOPATH
之外的目录,以避免冲突。 -
工具链依赖: 一些早期工具(或未支持模块的工具)仍然需要
GOPATH
。