38 lines
837 B
Go
38 lines
837 B
Go
|
|
package versionx_test
|
||
|
|
|
||
|
|
import (
|
||
|
|
"fmt"
|
||
|
|
"testing"
|
||
|
|
|
||
|
|
"code.yun.ink/pkg/versionx"
|
||
|
|
)
|
||
|
|
|
||
|
|
// 定义一个测试函数,用于演示如何使用上面定义的函数和方法
|
||
|
|
func TestVersionCompare(t *testing.T) {
|
||
|
|
// 定义两个字符串形式的版本号
|
||
|
|
v1 := "v1.2.3"
|
||
|
|
v2 := "V1.3.0"
|
||
|
|
// 将字符串形式的版本号转换为 Version 结构体
|
||
|
|
// 如果转换失败,打印错误并退出
|
||
|
|
ver1, err := versionx.ParseVersion(v1)
|
||
|
|
if err != nil {
|
||
|
|
fmt.Println(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
ver2, err := versionx.ParseVersion(v2)
|
||
|
|
if err != nil {
|
||
|
|
fmt.Println(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
// 使用 Compare 方法,比较两个版本号的大小
|
||
|
|
// 根据返回值,打印相应的结果
|
||
|
|
switch ver1.Compare(*ver2) {
|
||
|
|
case -1:
|
||
|
|
fmt.Printf("%s < %s\n", v1, v2)
|
||
|
|
case 0:
|
||
|
|
fmt.Printf("%s = %s\n", v1, v2)
|
||
|
|
case 1:
|
||
|
|
fmt.Printf("%s > %s\n", v1, v2)
|
||
|
|
}
|
||
|
|
}
|