在学习golang过程中,经常会看到在使用go ide时,会生成一个叫go.mod的文件。这是因为这个文件源于一个叫go Modlues的功能。Go Modules是Go语言的一种依赖管理系统,可以让依赖版本信息更加明确和易于管理。Go Modules可以让你在任何地方开发Go项目,而不需要放在$GOPATH/src下。Go Modules通过go.mod文件来定义模块的模块路径和依赖需求。
go.mod文件可以用go mod命令来生成和管理。go.mod文件包含一些指令,如module、go、require、replace、exclude等,用于指定模块路径、Go版本、依赖模块版本、替换模块或排除模块等。有别于go path,go.mod不需要提前定好一个文件路径来指定项目文件夹,可以很灵活的在某个文件夹中配置go.mod文件即可列出此项目的属性和依赖并进行运行和编译项目
在某些时候在编译时还会出现一个报错,里面提到了go path,原来,这是因为有人在使用go.mod的时候,将gomod所在的项目放在了设定好的go path路径内,形成了冲突导致编译失败,遇到这种情况,一般建议更改go path路径到其他地方,或者把项目文件迁移出go path 路径,使其正常运作