「这是我参与2022首次更文挑战的第10天,活动详情查看:2022首次更文挑战」
安装
方法1:
下载安装包:go.dev/dl/
- 默认的安装目录:
/usr/local/go/
- 编译器启动文件:
/usr/local/go/bin/go
设置环境Path,配置系统的环境变量,将 Go 编译器的路径添加到系统环境变量,之后就可以直接在终端命令中直接调用 Go
export PATH=/usr/local/go/bin:$PATH
方法2:
使用 Homebrew 配置 Go 环境就不需要配置环境变量
brew install go
验证是否安装成功:go env
环境配置变量
- GOROOT :编译器安装目录
- GOBIN:Go 编译文件目录,就是在执行
go install
时会进行编译,可执行文件会生成到此目录 - GOPATH:配置GO 项目代码相关目录,相当于项目空间,后续写GO 代码以及编译生成的文件都将放置在目录
export GOROOT=/usr/local/go
export GOPATH=/Users/用户名/projectsName
export GOBIN=/Users/用户名/projectsName/bin
当然我们可以将环境变量持久化,不用每次打开终端重新配置,打开文件 vim ~/.bash_profile,将相关配置的写入文件中保存。
GO111MODULE
GO111MODULE 是 go modules功能的开发,主要是用于管理第三方功能包。
-
GO111MODULE=off,无模块支持,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。
-
GO111MODULE=on,模块支持,go命令行会使用modules,而一点也不会去GOPATH目录下查找。
-
GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:
- 当前目录在GOPATH/src之外且该目录包含go.mod文件,开启模块支持。
- 当前文件在包含go.mod文件的目录下面
配置命令
go env -w GO111MODULE=on
GOPROXY表示的是go的代理设置,之所以有这个环境变量,是因为go这种语言不像C语言,在C语言中,如果我们想要使用别人的第三方代码,一般有两种途径:
- 引入第三方代码的库地址,比如git仓库,然后在编译的时候,IDE会自动的拉取第三方库文件到当前工程
- 因为一些限制,我们不能很顺利的使用和下载这些仓库,这样就会导致下载缓慢或者失败,所以这个时候就需要一个代理来实现下载
golang默认的GOPROXY是 goproxy.io 这个是官方的设置,我们可以使用其他第三方代理,比如淘宝的或者网易,可以在网上搜索到很多。 window 下设置
go env -w GOPROXY=https://goproxy.cn,direct
mac下设置
export GO111MODULE=on
$ export GOPROXY=https://goproxy.cn
环境安装完之后,我们就可以进行 GO 项目的练手了。来个 hello world 例子 创建一个go文件,然后写入main函数,输出 hello
package main
import (
"fmt"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("test", func(c *gin.Context) {
c.JSONP(200, gin.H{
"message": "hello",
})
})
fmt.Printf("hello")
}