Home >Backend Development >Golang >Understanding GO Modules and problems encountered

Understanding GO Modules and problems encountered

藏色散人
藏色散人forward
2021-06-26 14:45:152018browse

The following golang tutorial column will introduce you to the understanding of GO Modules and the problems encountered.

The go version used is 1.16.5, the code editor is GoLang2020.3.4, and the GO Modules test is done on window10

Why There will be GOModules

GOROOT refers to the installation path of go, and GOPATH refers to the project path of go. Before GOModules, GOPATH was used. Since there are many problems with GOPATH, GOModules is used instead.

Problems with GOPATH

There is no concept of version control in GOPATH mode, which has fatal flaws, which will at least cause the following problems:
1. When executing go get, you cannot convey any expectations for version information, which means you cannot know which version you are currently updating, nor can you pull the specific version you expect by specifying
2. When running a Go application, you cannot guarantee that others have the same version of the third-party libraries you expect to depend on. That is to say, in terms of project dependency library management, you cannot guarantee that everyone’s dependency versions are the same. Consistent
3. You cannot handle the reference problem of different versions such as v1, v2, v3, etc., because the import paths in GOPATH mode are all the same, github.com/foo/bar.
4. The Go language official began to promote Go modules (formerly vgo) starting from Go1.11. Starting from Go1.13, it is no longer recommended to use the GOPATH usage mode. Go modules have gradually become stable, so there is no need to continue to use them in new projects. GOPATH mode.

What problems has been solved by the emergence of GOModules

1. Go language’s long-standing dependency management problem
2. “Eliminate” the existing GOPATH usage model
3. Other dependency management tools in the unified community (providing migration functions)

The relationship between GOModules and GOPATH

1. Set the project path
GO Modules的使用与遇到的问题与解决方式
2. Open the editor and run the following command in the project root directory

go mod init

GO Modules的使用与遇到的问题与解决方式

##3 , Install third-party dependencies

GO Modules的使用与遇到的问题与解决方式

GO Modules的使用与遇到的问题与解决方式

GO Modules的使用与遇到的问题与解决方式

#Now you can see the relationship between GOModules and GOPATH Now, the "go get" command will place the third-party dependency package in the GOPATH path. In order to make everyone's development version consistent during multi-person development, GOModules does version control to ensure that everyone uses the same version of dependencies. , My understanding is that GOModules is an upgraded version of GOPATH

GO Modules的理解和遇到的问题解决方法Finally, please note that the editor I use is GOLang, GOModules will have the following problems, This problem shows that the third-party dependency package was successfully downloaded and installed, mainly due to the editor


GO Modules的使用与遇到的问题与解决方式The following is the solution

GO Modules的使用与遇到的问题与解决方式

GO Modules的使用与遇到的问题与解决方式

The above is the detailed content of Understanding GO Modules and problems encountered. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:learnku.com. If there is any infringement, please contact admin@php.cn delete