Go 언어 모듈을 사용하는 방법을 알려주는 기사

풀어 주다: 2023-07-20 15:55:06
앞으로
1451명이 탐색했습니다.
머리말

go 모듈은 공식적으로 제공되며 상대적으로 안정적인 최소 Go 버전 요구 사항입니다.

은 Python의 가상 환경, Java의 Maven 또는 PHP의 Composer로 이해될 수 있습니다.

그것이 해결하는 본질적인 문제는 패키지 관리 혼란의 문제입니다.

어쨌든 그냥 사용하면 좋은 점만 있고 나쁜 점은 없습니다.


구성(걱정하지 마세요)

GO111MODULE=off # 不适用modules功能
GO111MODULE=off #使用molules功能,不会去GOPATH下找依赖包, 1.11+版本默认开启
GO111MODULE=auto:Golang # Golang自己简则是不是使用modules功能
로그인 후 복사

위 명령에 따르면 버전 1.11+에서는 기본적으로 go 모듈을 사용할 수 있고 다른 모듈은 사용할 수 없다는 결론을 내릴 수 있습니다. 설정이 필요합니다.


기존 직접 go get과의 차이점은 무엇인가요?

go 모듈을 사용하지 않을 때 우리는 직접 가져오기go get下载的包,会默认放在%GOPATH%/src目录下。

Go 언어 모듈을 사용하는 방법을 알려주는 기사

启用go modules后,包都会下载到%GOPATH%/pkg/mod다운로드한 패키지는 %GOPATH%/src

디렉토리.

Go 언어 모듈을 사용하는 방법을 알려주는 기사

Go 언어 모듈을 사용하는 방법을 알려주는 기사

go 모듈을 활성화한 후, 패키지가 다운로드됩니다%GOPATH%/pkg/mod < /code></p><p style="margin-bottom: 0px;"> 폴더. <span style="font-family: "Open Sans", "Clear Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;font-size: 16px;orphans: 4;text-align: start;white-space: pre-wrap;"><br/></span></p>🎜🎜🎜🎜 버전 번호가 있으며 기본적으로 종속성 문제를 완전히 해결합니다. 🎜🎜🎜🎜🎜🎜🎜<h2 cid="n93" mdtype="heading" style="break-after: avoid-page;break-inside: avoid;orphans: 4;font-size: 1.75em;margin-top: 1rem;margin-bottom: 1rem;font-weight: bold;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: "Open Sans", "Clear Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;text-align: start;"><span md-inline="plain">开始使用</span></h2><h3 cid="n94" mdtype="heading" style="break-after: avoid-page;break-inside: avoid;orphans: 4;font-size: 1.5em;margin-top: 1rem;margin-bottom: 1rem;font-weight: bold;line-height: 1.43;cursor: text;white-space: pre-wrap;font-family: "Open Sans", "Clear Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;text-align: start;"><span md-inline="plain">创建go.mod文件</span></h3><p cid="n95" mdtype="paragraph" style="line-height: inherit;orphans: 4;margin-top: 0.8em;margin-bottom: 0.8em;white-space: pre-wrap;font-family: "Open Sans", "Clear Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;font-size: 16px;text-align: start;"><span md-inline="code" spellcheck="false"><code style="font-family: var(--monospace);vertical-align: 초기;border-width: 1px;border-style: solid ;경계색: rgb(231, 234, 237);배경색: rgb(243, 244, 244);경계 반경: 3px;패딩-오른쪽: 2px;패딩-왼쪽: 2px;글꼴 크기: 0.9 em;">go.modgo.mod文件相当于requirement.txt文件,里面会放一些所需要的依赖包。


开始使用

我创建了一个gomod-demo文件夹。

Go 언어 모듈을 사용하는 방법을 알려주는 기사

并且CMD文件相当于requirement.txt

🎜文件,里路会放一些所需要的依赖包。🎜🎜🎜🎜
🎜🎜

🎜开始使용 🎜🎜

🎜我创建了一个🎜🎜<코드 스타일 ="글꼴 계열: var(--monospace); 수직 정렬: 초기; 테두리 너비: 1px; 테두리 스타일: 단색; 테두리 색상: rgb(231, 234, 237); 배경 색상: rgb( 243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">gomod-demo🎜🎜文件夹。🎜🎜

Go 언어 모듈을 사용하는 방법을 알려주는 기사🎜🎜

🎜并且🎜🎜CMD🎜🎜进入此文件夹里面。🎜🎜

Go 언어 모듈을 사용하는 방법을 알려주는 기사

执行命令모드로 이동 gomod-demo 초기화go mod init gomod-demo

后面这个gomod-demo可以随便写,建议和文件夹名字一样。

Go 언어 모듈을 사용하는 방법을 알려주는 기사

成功后,文件夹下会多了一个go.mod文件,代表成功。

Go 언어 모듈을 사용하는 방법을 알려주는 기사

我用Goland打开这个gomod-demo

后면这个

Go 언어 모듈을 사용하는 방법을 알려주는 기사gomod-demo

🎜可以随便写,建议和文件夹name字一样。🎜🎜

Go 언어 모듈을 사용하는 방법을 알려주는 기사🎜

成功后,文件夹下会多了一个🎜go.mod🎜文件,代表成功。🎜🎜

Go 언어 모듈을 사용하는 방법을 알려주는 기사🎜🎜

🎜我用Goland打开这个🎜🎜gomod-데모🎜🎜文件夹。🎜🎜🎜🎜🎜

go.mod 파일 설명

  1. 모듈: 모듈 이름.

  2. require: 종속성 패키지 목록 및 버전.

  3. exclude: 종속 패키지 목록을 금지합니다(현재 모듈이 기본 모듈인 경우에만 적용됩니다).

  4. replace: 종속성 패키지 목록을 교체합니다(현재 모듈이 기본 모듈인 경우에만 적용됩니다).

물론 기본적으로 이것들을 건드릴 필요는 없습니다. 모두 명령이나 IDE를 통해 수정됩니다.


Easy to use

예를 들어 xstringsxstrings 包。

github地址:https://github.com/huandu/xstrings 패키지.

github 주소:

<코드 스타일= "글꼴 계열: var(--monospace); 수직 정렬: 초기; 테두리 너비: 1px; 테두리 스타일: 단색; 테두리 색상: rgb(231, 234, 237); 배경 색상: rgb(243 , 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">https://github.com/huandu/xstrings

.

Go 언어 모듈을 사용하는 방법을 알려주는 기사

🎜이 패키지를 설치하려면 이 명령을 실행해야 합니다. 🎜🎜🎜🎜🎜

执行下载命令。

Go 언어 모듈을 사용하는 방법을 알려주는 기사

go.mod文件会自动添加一个依赖包。

Go 언어 모듈을 사용하는 방법을 알려주는 기사

代码:

package main

import (
    "fmt"
    "github.com/huandu/xstrings"
)

func main() {
    s := "heheh ADSL附近"
    center := xstrings.Count(s, "h")
    fmt.Println(center)
}
로그인 후 복사

go连接Mysql

github文档如下。

Go 언어 모듈을 사용하는 방법을 알려주는 기사

执行下载命令 go get -u github.com/go-sql-driver/mysql

Go 언어 모듈을 사용하는 방법을 알려주는 기사

go.mod文件如下。

Go 언어 모듈을 사용하는 방법을 알려주는 기사

代码:

package main

import (
    "database/sql"
    _ "github.com/go-sql-driver/mysql"
    "time"
)

func main() {
    //s := "heheh ADSL附近"
    //center := xstrings.Count(s, "h")
    //fmt.Println(center)
    db, err := sql.Open("mysql", "user:password@/dbname")
    if err != nil {
        panic(err)
}
    // See "Important settings" section.
    db.SetConnMaxLifetime(time.Minute * 3)
    db.SetMaxOpenConns(10)
    db.SetMaxIdleConns(10)
}
로그인 후 복사

可能出现的异常

如果使用go get 第三方包时,goland无法导入,或者报错,或者没有Go Modules

Go 언어 모듈을 사용하는 방법을 알려주는 기사

项目目录下,使用go mod download下载一下,基本可以解决问题,只要有Go Modules,就代表没问题。

Go 언어 모듈을 사용하는 방법을 알려주는 기사

如果还是没有Go Modules,在Goland中settings->Go->GoModules(vgo)

Go 언어 모듈을 사용하는 방법을 알려주는 기사

go mod所有命令

在当前文件夹下初始化一个新的 module,创建 go.mod 文件:go mod init name
拉取缺少的模块,移除不用的模块:go mod tidy
将依赖复制到 vendor 下:go mod vendor
下载依赖:go mod download
检验依赖:go mod verify
显示模块依赖图:go mod graph
解释为什么需要依赖:go mod why
编辑 go.mod 文件:go eidt
查看命令列表:go mod
查看命令帮助文档:go help mod
로그인 후 복사

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

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