>백엔드 개발 >Golang >Go 언어 모듈을 사용하는 방법을 알려주는 기사

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

Go语言进阶学习
Go语言进阶学习앞으로
2023-07-20 15:55:061497검색
머리말

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

폴더.

🎜🎜🎜🎜 버전 번호가 있으며 기본적으로 종속성 문제를 완전히 해결합니다. 🎜🎜🎜🎜🎜🎜🎜

开始使用

创建go.mod文件

go.modgo.mod文件相当于requirement.txt文件,里面会放一些所需要的依赖包。


开始使用

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

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

并且CMD文件相当于requirement.txt

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

🎜开始使용 🎜🎜

🎜我创建了一个🎜🎜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 주소:

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으로 문의하시기 바랍니다. 삭제