1. 下载go安装包
官网下载go安装包: https://golang.google.cn/dl/
下载go二进制包go1.20.3.darwin-amd64.tar.gz
或go1.20.3.darwin-arm64.tar.gz
注意:选择amd64还是arm64取决于你电脑CPU的架构是x86_64还是arm架构,x86用amd64的包,arm则用arm64的包。mac的CPU目前主要有2种,分别Intel和M系列如m1, m2。CPU为Intel的则为x86_64架构,CPU为m1,m2,…则为arm架构。
wget -c https://golang.google.cn/dl/go1.20.3.darwin-amd64.tar.gz
or
wget -c https://golang.google.cn/dl/go1.20.3.darwin-arm64.tar.gz
2. 安装go
安装目录: /usr/local/go
sudo tar -xzvf go1.20.3.darwin-amd64.tar.gz -C /usr/local
or
sudo tar -xzvf go1.20.3.darwin-arm64.tar.gz -C /usr/local
cd /usr/local/go
查看go的安装目录:
cd /usr/local/go
ls
3. 配置环境变量
编辑~/.bash_profile
文件:
vim ~/.bash_profile
追加以下内容:
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/go
注意, GOPATH
配置为你的工作区目录
编辑~/.zshrc
文件:
vim ~/.zshrc
追加以下内容:
source ~/.bash_profile
使终端对以上配置的环境变量生效:
source ~/.zshrc
4. 检测go开发环境是否安装成功
$ go env
省略...
GOPATH="/Users/xx/go"
GOROOT="/usr/local/go"
省略...
其中,
- GOPATH: go工作区, 即编写代码存放的目录
- GOROOT: go的安装目录
查看版本:
$ go version
go version go1.20.3 darwin/amd64
or
$ go version
go version go1.20.3 darwin/arm64
在GOPATH
工作区目录下, 一般有3个目录, 分别是
- bin: 存储可执行bin文件
- pkg: 编译完成的文件
- src: 源代码文件
$GOPATH/pkg
目录在执行go get -u 库名
会自动创建, src
目录不存在则需要手动创建, 示例如下:
mkdir -p $GOPATH/src
mkdir -p $GOPATH/bin
在$GOPATH/src
目录下, 创建新项目进行开发
5. 设置go国内模块代理
编辑~/.bash_profile
:
vim ~/.bash_profile
追加以下内容:
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
使以上配置的环境变量生效:
source ~/.zshrc
至此, go开发环境安装成功。
6. 创建go的hello项目
创建go的hello项目:
$ cd $GOPATH/src
$ mkdir hello
$ cd hello
$ go mod init zhuxiongxian.com/hello
go: creating new go.mod: module zhuxiongxian.com/hello
go: to add module requirements and sums:
go mod tidy
$ go mod tidy
其中,
go mod tidy
: 增加缺少的module, 删除无用的module- go get/go run/go build会自动下载依赖
创建hello.go文件:
vim hello.go
hello.go文件内容如下:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
运行go的hello项目:
$ cd cd $GOPATH/src/hello
$ go run .
Hello, World!
7. 安装gin框架
go get -u github.com/gin-gonic/gin
在代码中导包:
import "github.com/gin-gonic/gin"
8. 创建gin的demo项目
cd $GOPATH/src
mkdir gin-demo
cd gin-demo
vim example.go
example.go文件内容:
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
// r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
r.Run(":10240")
}
go mod init zhuxiongxian.com/gin-demo
go mod tidy
go run example.go
或
go run .
{
"message": "pong"
}
9. 常用命令
// 查看go当前版本
go version
// 查看当前go的环境变量
go env
// 列出当前全部安装的依赖库
go list
// 编辑并运行go程序
go run
// 自动更新依赖库
go get -u
// 增加缺少的module, 删除无用的module
go mod tidy