Pārlūkot izejas kodu

Update version.go

Optimize duplicate code
xiaox0321 7 gadi atpakaļ
vecāks
revīzija
3f1174a519
1 mainītis faili ar 8 papildinājumiem un 14 dzēšanām
  1. 8 14
      utils/version/version.go

+ 8 - 14
utils/version/version.go

@@ -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 Proto(v string) int64 {
+	return getSubVersion(v, 0)
+}
+
 func Major(v string) int64 {
-	arr := strings.Split(v, ".")
-	if len(arr) < 3 {
-		return 0
-	}
-	res, _ := strconv.ParseInt(arr[1], 10, 64)
-	return res
+	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