Go 言語モジュールの使用方法を説明する記事

リリース: 2023-07-20 15:55:06
転載
1458 人が閲覧しました
まえがき

go modules は Go 用のパッケージ管理ツールで、公式に提供されており比較的信頼性が高いです。 、必要な Go の最小バージョンは 1.11 です。

は、Python の仮想環境、Java の Maven、または PHP のコンポーザーとして理解できます。

#これによって解決される本質的な問題は、パッケージ管理の混乱の問題です。

とにかく、使ってみて、それだけです。良いことだけがあり、悪いことはありません。


設定 (心配しないでください)

##
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 モジュールを有効にすると、パッケージは %GOPATH%/pkg/mod## にダウンロードされます# フォルダー。

Go 言語モジュールの使用方法を説明する記事

そしてバージョン番号が付けられ、基本的に依存関係の問題は完全に解決されます。


始めましょう

go.mod ファイルを作成します

go.mod ファイルは、requirement.txt ファイルと同等であり、いくつかの必要な依存関係パッケージが含まれます。


#始めましょう

# を作成しました##gomod-demo フォルダー。

Go 言語モジュールの使用方法を説明する記事#と

CMDこのファイルを入力してください内側にクリップを付けます。

Go 言語モジュールの使用方法を説明する記事

コマンド go mod init gomod-demo コマンドを実行します。

以下の gomod-demo は気軽に記述できます。フォルダ名。

Go 言語モジュールの使用方法を説明する記事

#成功すると、もう 1 つ #go.mod# # が表示されます。 #File、成功を表します。

Go 言語モジュールの使用方法を説明する記事##Goland を使用してこれを開きました

gomod-demo ###フォルダ。

go.mod ファイルの説明

  1. module: モジュール名。

  2. require: 依存関係パッケージのリストとバージョン。

  3. exclude: 依存パッケージのリストを禁止します (現在のモジュールがメイン モジュールである場合にのみ有効です)。

  4. replace: 依存パッケージ リストを置き換えます (現在のモジュールがメイン モジュールである場合にのみ有効です)。

#もちろん、これらの基本に触れる必要はありません。これらはすべてコマンドまたは IDE を通じて変更されます## #。


簡単な使い方

##たとえば、## を使用する必要があります。

xstrings

パッケージ。 github アドレス:

https://github.com/huandu/xstrings

このパッケージをインストールするには、このコマンドを実行する必要があります。

执行下载命令。

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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:Go语言进阶学习
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート