// 版本比对
  compareVersion(String v1, String v2) {
    List<String> v1Arr = v1.split('.');
    List<String> v2Arr = v2.split('.');
    var minVersionLens = v1Arr.length > v2Arr.length? v2Arr.length : v1Arr.length;
    var result = 0;
    for (int i =0; i < minVersionLens; i++) {
      var curV1 = int.parse(v1Arr[i]);
      var curV2 = int.parse(v2Arr[i]);
      if (curV1 > curV2) {
        result = 1;
        break;
      } else if (curV1 < curV2) {
        result = -1;
        break;
      }
    }
    if (result == 0 && (v1Arr.length != v2Arr.length)) {
      var v1BiggerThenv2 = v1Arr.length > v2Arr.length;
      var maxLensVersion = v1BiggerThenv2? v1Arr : v2Arr;
      for (int i = minVersionLens; i < maxLensVersion.length; i++) {
        var curVersion = int.parse(maxLensVersion[i]);
        if (curVersion > 0) {
          v1BiggerThenv2 ? (result = 1) : (result = -1);
          break;
        }
      }
    }
    return result;
  }

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐