Go でバージョン比較
at 2016-08-02 00:00 (UTC)
9.4
とか 0.10.1
みたいなバージョンを比較したい時がある。そんな時は hashicorp/go-version: A Go (golang) library for parsing and verifying versions and version constraints. を使う。
package main
import (
"fmt"
"os"
"github.com/hashicorp/go-version"
)
func main() {
v1, err := version.NewVersion("9.3.1")
if err != nil {
fmt.Fprintln(os.Stderr, err)
return
}
v2, err := version.NewVersion("9.10.5")
if err != nil {
fmt.Fprintln(os.Stderr, err)
return
}
if v1.Compare(v2) >= 0 {
// do something
}
}
こんな感じで使える。
LessThan
, GreaterThan
, Equal
などもある。
Semantic Version に対応している必要があるようだ。