ホームページ > バックエンド開発 > Golang > Hashicorp の go-version ライブラリを使用して Go でバージョン番号を比較するにはどうすればよいですか?

Hashicorp の go-version ライブラリを使用して Go でバージョン番号を比較するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-17 12:28:26
オリジナル
300 人が閲覧しました

How Can I Compare Version Numbers in Go Using Hashicorp's go-version Library?

Hashicorp の Go バージョン ライブラリを使用して Go でバージョン番号を比較する

文字列として保存されたバージョン番号を使用する場合、多くの場合、バージョン番号を比較する必要があります。値を使用して優先順位を決定します。 Go では、これは Hashicorp の go-version ライブラリを使用して実現できます。

go-version の使用:

go-version ライブラリは、作成および比較するための便利な方法を提供します。バージョン番号。 2 つのバージョン番号文字列を比較するには、次の手順に従います。

  1. go-version ライブラリをインポートします。
import github.com/hashicorp/go-version
ログイン後にコピー
  1. version.NewVersion() を使用して 2 つのバージョン オブジェクトを作成します。 ):
v1, err := version.NewVersion("1.2")
if err != nil {
    // Handle error
}

v2, err := version.NewVersion("1.5+metadata")
if err != nil {
    // Handle error
}
ログイン後にコピー
  1. バージョンを比較するLessThan() メソッドの使用:
if v1.LessThan(v2) {
    fmt.Printf("%s is less than %s", v1, v2)
}
ログイン後にコピー

例:

次の例を考えてみましょう:

a := "1.05.00.0156"
b := "1.0.221.9289"
ログイン後にコピー

go の使用-version ライブラリでは、次のように 2 つのバージョンを比較できます。以下に続きます:

package main

import (
    "fmt"

    "github.com/hashicorp/go-version"
)

func main() {
    a := "1.05.00.0156"
    b := "1.0.221.9289"

    v1, err := version.NewVersion(a)
    if err != nil {
        // Handle error
    }

    v2, err := version.NewVersion(b)
    if err != nil {
        // Handle error
    }

    if v1.LessThan(v2) {
        fmt.Printf("%s is less than %s", v1, v2)
    } else {
        fmt.Printf("%s is greater than or equal to %s", v1, v2)
    }
}
ログイン後にコピー

出力:

1.05.00.0156 is less than 1.0.221.9289
ログイン後にコピー

以上がHashicorp の go-version ライブラリを使用して Go でバージョン番号を比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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