Dart 私有(private)变量在其他函数中返回 null

标签 dart private-members

我在 dart _finalScore 中声明了一个私有(private)变量稍后为其分配一个值或结果_finalScore = prevRes + currResult .它在我将值设置为它的地方运行良好,但之后在另一个函数中,当我尝试在另一个函数中使用私有(private)变量 if(_finalScore > 25) return "Good Performace"在同一个类中,它(_finalScore)返回空值。

  CalculatorScore({this.prevScore, this.currScore});

  final int prevScore;
  final int currScore;

  double _finalScore;

  String calculateScore() {
    double _finalScore= prevScore + currScore;
    return _finalScore.toStringAsFixed(1);
  }

  String getScoreRemark() {
    if (_finalScore >= 60) {
      return "Good work";
    } else if (_finalScore > 50) {
      return "Work hard";
    } else {
      return "Poor performace";
    }
  }
}
calculateScore() works well with _finalScore receiving a value but _finalScore returns null in getScoreRemark()

任何帮助谢谢。

最佳答案

发生这种情况是因为您没有设置类变量 _finalScore 的值。而是在 calculateScore 中创建一个新的局部变量方法:

String calculateScore() {
    double _finalScore = ...
    return ...
}

您应该删除类型并将值分配给变量
_finalScore = ...

关于Dart 私有(private)变量在其他函数中返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60786163/

相关文章:

extension-methods - Dart是否具有像C#这样的扩展方法?

string - 将字符串类型转换为另一种类型

flutter - 如何在Dart中为函数指定类型注释

java - 你如何决定定义一个变量 "private"?

java - 从其他类创建私有(private)内部类的对象

dart - 如何使用angular2_material Dart

javascript - 在 Dart 中创建 Cesium 图像提供程序

javascript - 有没有办法在构造对象后注入(inject)特权方法?

javascript - 如何在 JavaScript 中保持双向对象关系的一致性?

C 私有(private)变量 Get 和 Set 方法