Update version.go
Optimize duplicate code
@@ -25,31 +25,25 @@ func Full() string {
return version
}
-func Proto(v string) int64 {
+func getSubVersion(v string, position int) int64 {
arr := strings.Split(v, ".")
if len(arr) < 3 {
return 0
}
- res, _ := strconv.ParseInt(arr[0], 10, 64)
+ res, _ := strconv.ParseInt(arr[position], 10, 64)
return res
}
-func Major(v string) int64 {
- arr := strings.Split(v, ".")
- if len(arr) < 3 {
- return 0
+func Proto(v string) int64 {
+ return getSubVersion(v, 0)
}
- res, _ := strconv.ParseInt(arr[1], 10, 64)
- return res
+
+func Major(v string) int64 {
+ return getSubVersion(v, 1)
}
func Minor(v string) int64 {
- arr := strings.Split(v, ".")
- if len(arr) < 3 {
- return 0
- }
- res, _ := strconv.ParseInt(arr[2], 10, 64)
- return res
+ return getSubVersion(v, 2)
}
// add every case there if server will not accept client's protocol and return false
