【问题标题】:Dart private variable returns null in other functionsDart 私有变量在其他函数中返回 null
【发布时间】:2020-07-02 07:10:39
【问题描述】:

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

  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()

任何帮助谢谢。

【问题讨论】:

    标签: dart private-members


    【解决方案1】:

    这是因为您没有设置类变量 _finalScore 的值,而是在 calculateScore 方法中创建了一个新的局部变量:

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

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

    _finalScore = ...
    

    【讨论】:

      猜你喜欢
      • 2019-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多