golang 모듈을 사용하는 방법

PHPz
풀어 주다: 2023-05-10 22:15:08
원래의
486명이 탐색했습니다.

Go 언어가 발전하면서 점점 더 많은 사람들이 Go 언어를 개발에 사용하기 시작했고, 프로젝트의 규모와 복잡성이 증가함에 따라 코드를 더 잘 구성해야 합니다. 이것이 Go 1.11 이상에서 모듈 개념을 도입한 이유입니다. 이 기사에서는 Go 모듈을 사용하여 프로젝트 및 종속성을 관리하는 방법을 소개합니다.

1. Go 모듈이란

Go 언어에서 패키지는 코드 구성의 기본 단위입니다. 관련된 함수, 변수 또는 유형 정의 세트를 포함합니다. 프로젝트에서는 많은 패키지를 사용할 수 있습니다. 그러나 이러한 패키지의 버전과 종속성을 관리하는 것은 매우 어렵습니다. Go 1.11에 도입된 모듈은 이 문제를 해결하기 위한 것입니다.

간단히 말하면 모듈은 소스 코드, 종속성 및 버전 정보가 포함된 코드 패키지 모음입니다. 모듈은 다른 모듈이나 자체 모듈의 다른 버전을 참조할 수 있습니다.

2. Go 모듈 사용 방법

  1. 새 모듈 만들기

새 Go 모듈 프로젝트를 만들려면 작업 디렉터리에서 다음 명령을 실행해야 합니다.

$ go mod init example.com/hello
로그인 후 복사

이 명령은 다음 위치에 새 모듈을 만듭니다. 현재 디렉터리 새 모듈을 만들고 이름을 example.com/hello로 지정합니다. Go가 종속성을 해결하는 방법은 URL을 통해 종속성을 찾는 것이므로 모듈 이름은 고유해야 합니다. example.com/hello 。Go 解决依赖项的方式是通过 URL 来定位依赖项,因此模块名需要是唯一的。

如果你的项目是已经在 GOPATH 目录之外的一个目录中,则在执行上述命令之前,你需要设置一下你的环境变量 GO111MODULE=on ,如下所示:

$ export GO111MODULE=on
로그인 후 복사
  1. 添加依赖项

在模块中添加依赖项的方法是运行以下命令:

$ go get example.com/dependency
로그인 후 복사

这个命令将会从 example.com 下载最新的 dependency 包,并将其添加到你的项目中。如果这个包依赖于其他的包,则它们也会被自动下载。

你也可以指定特定的版本,如下:

$ go get example.com/dependency@v1.1.0
로그인 후 복사

这个命令将会下载版本为 v1.1.0dependency 包。

  1. 修改依赖项

如果你需要切换依赖项的版本或者修改依赖项的代码,只需要修改 go.mod 文件即可。

例如,如果你想将 dependency 包的版本切换到 v1.2.0,可以在 go.mod 文件中手动修改:

module example.com/hello

require example.com/dependency v1.2.0
로그인 후 복사

然后运行以下命令来更新依赖项:

$ go mod tidy
로그인 후 복사

这个命令会自动更新依赖项,并从 go.sum 文件中删除不再使用的依赖项。

  1. 重建模块

在你的代码中,你可以使用依赖项中的函数和类型。

当你对代码进行修改时,你需要重新构建你的模块,以便 Go 可以重新编译它们。执行以下命令即可:

$ go build
로그인 후 복사

如果你的代码中包含了测试,你可以通过以下命令来运行测试:

$ go test -v
로그인 후 복사
  1. 发布模块

当你准备好发布你的模块时,你需要给你的模块打一个标签。执行以下命令:

$ git tag v1.0.0
로그인 후 복사

然后将标签推送到远程仓库:

$ git push --tags
로그인 후 복사

当其他人想要使用你的模块时,他们只需要添加你的模块作为依赖项即可:

module example.com/using_hello

require example.com/hello v1.0.0
로그인 후 복사

他们可以像上一节中介绍的那样运行 go get

프로젝트가 이미 GOPATH 디렉터리 외부 디렉터리에 있는 경우 위 명령을 실행하기 전에 아래와 같이 환경 변수 GO111MODULE=on을 설정해야 합니다.

rrreee

    종속성 추가🎜🎜🎜모듈에 종속성을 추가하려면 다음 명령을 실행하세요. 🎜rrreee🎜이 명령은 example.com에서 시작됩니다. 최신 dependent 패키지를 프로젝트에 추가하세요. 이 패키지가 다른 패키지에 종속되어 있는 경우 해당 패키지도 자동으로 다운로드됩니다. 🎜🎜다음과 같이 특정 버전을 지정할 수도 있습니다. 🎜rrreee🎜이 명령은 v1.1.0 버전의 dependent 패키지를 다운로드합니다. 🎜
      🎜종속성 수정🎜🎜🎜종속성 버전을 전환하거나 종속성 코드를 수정해야 하는 경우 go.mod 파일을 수정하면 됩니다. 🎜🎜예를 들어 dependent 패키지의 버전을 v1.2.0으로 전환하려는 경우 go.mod에서 수동으로 수정할 수 있습니다. code> 파일: 🎜 rrreee🎜그런 다음 다음 명령을 실행하여 종속성을 업데이트합니다. 🎜rrreee🎜 이 명령은 종속성을 자동으로 업데이트하고 go.sum 파일에서 더 이상 사용되지 않는 종속성을 제거합니다. 🎜
        🎜모듈 재구성🎜🎜🎜코드에서 종속성의 함수와 유형을 사용할 수 있습니다. 🎜🎜코드를 변경할 때 Go가 모듈을 다시 컴파일할 수 있도록 모듈을 다시 빌드해야 합니다. 다음 명령을 실행하세요. 🎜rrreee🎜 코드에 테스트가 포함된 경우 다음 명령을 사용하여 테스트를 실행할 수 있습니다. 🎜rrreee
          🎜모듈 게시🎜🎜🎜모듈을 게시할 준비가 되면 , 모듈에 태그를 제공해야 합니다. 다음 명령을 실행합니다: 🎜rrreee🎜 그런 다음 태그를 원격 저장소에 푸시합니다: 🎜rrreee🎜 다른 사람들이 귀하의 모듈을 사용하려면 모듈을 종속성으로 추가하기만 하면 됩니다. 🎜rrreee🎜 이전과 동일하게 수행할 수 있습니다. 하나 모듈을 다운로드하려면 섹션에 설명된 대로 go get 명령을 실행하세요. 🎜🎜요약하자면 Go 모듈은 종속성과 버전을 관리하는 간단한 방법을 제공합니다. 이는 프로젝트에 더 나은 구조를 제공하고 코드의 재사용성과 유지 관리에도 도움이 될 수 있습니다. Go 모듈을 사용하여 프로젝트를 구성해 본 적이 없다면 지금이 시작할 때입니다. 🎜

위 내용은 golang 모듈을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿