文章目录
搭建环境:mac OS(linux系统类似)
go version
:1.16
Go的开发模式-GO111MODULE
介绍GO环境变量之前,必须先介绍Go开发模式的重大变化。
go有两种开发模式,1.13前的GOPATH开发模式和之后的go module开发模式。
go module开发模式不再需要将项目代码存放在$GOPATH/src
下,工程代码可以放在任意位置。
第三方库的代码、缓存、sumdb等仍然在$GOPATH下。
从GOPATH开发模式到go module开发模式
go module开发模式取代GOPATH开发模式,是为了在go的整个开发生态中引入包版本概念。如不同工程项目都要使用gin,但是一个使用gin@1.1.1,另一个使用gin@1.5.1。这种区分在GOPATH模式下是无法实现的。
GOPATH模式到go module开发模式是循序渐进的,其中GO111MODULE
变量起到区分本地GO开发模式的作用。
Go 1.11 开始,引入GO111MODULE环境变量,默认设置为GO111MODULE=auto。当GO111MODULE=off时,使用GOPATH开发模式;GO111MODULE=on时,使用go module开发模式。
Go 1.13开始,删除了项目目录必须在