How to compare two version number strings in golang

前端 未结 10 767
别跟我提以往
别跟我提以往 2020-12-30 02:06

I have two strings (they are actually version numbers and they could be any version numbers)

a := \"1.05.00.0156\"  
b := \"1.0.221.9289\"

10条回答
  •  情话喂你
    2020-12-30 02:37

    This depends on what you mean by bigger.

    A naive approach would be:

    package main
    
    import "fmt"
    import "strings"
    
    func main() {
        a := strings.Split("1.05.00.0156", ".")
        b := strings.Split("1.0.221.9289", ".")
        for i, s := range a {
            var ai, bi int
            fmt.Sscanf(s, "%d", &ai)
            fmt.Sscanf(b[i], "%d", &bi)
            if ai > bi {
                fmt.Printf("%v is bigger than %v\n", a, b)
                break
            }
            if bi > ai {
                fmt.Printf("%v is bigger than %v\n", b, a)
                break
            }
        }
    }
    

    http://play.golang.org/p/j0MtFcn44Z

提交回复
热议问题