【Golang计划】01环境搭建

136 阅读1分钟

「这是我参与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")
}