Compare two version numbers version1 and version2. If version1 > version2 return 1, if version1 < version2 return -1, otherwise return 0.
You may assume that the version strings are non-empty and contain only digits and the . character. The . character does not represent a decimal point and is used to separate number sequences. For instance, 2.5 is not “two and a half” or “half way to version three”, it is the fifth second-level revision of the second first-level revision.
funccompareVersion(version1 string, version2 string)int { v1Slice := strings.Split(version1, ".") v2Slice := strings.Split(version2, ".") for i := 0; i < len(v1Slice) || i < len(v2Slice); i++ { x, y := 0, 0 if i < len(v1Slice) { x, _ = strconv.Atoi(v1Slice[i]) } if i < len(v2Slice) { y, _ = strconv.Atoi(v2Slice[i]) } if x > y { return1 } if x < y { return-1 } } return0 }