import 'dart:math'; bool compareVersion(String version1, String version2) { List<String> version1Array = version1.split("."); List<String> version2Array = version2.split("."); int index = 0; int minLen = min(version1Array.length, version2Array.length); int diff = 0; while (index < minLen) { diff = int.parse(version1Array[index]) - int.parse(version2Array[index]); if (diff == 0) { index++; } else { break; } } if (diff == 0) { for (int i = index; i < version1Array.length; i++) { if (int.parse(version1Array[i]) > 0) { return true; } } for (int i = index; i < version2Array.length; i++) { if (int.parse(version2Array[i]) > 0) { return false; } } return false; } else { return diff > 0; } } void main() { print(compareVersion("1.1.0","1.2.1")); // 10 }
Flutter Dart 版本号比较方法
18 min read