发出警告的私有变量未使用,请尝试删除该变量

问题描述 投票:0回答:1

我最近开始学习 Dart,并在 Dart pad 中遇到了这个警告。我不明白为什么会抛出这个警告。任何人都可以解释这里发生了什么吗?我已附上屏幕截图。在此处输入图像描述

我没想到会出现警告,因为构造函数中正在使用 _name 变量来设置 tbe 值。

代码:

void main() { 
  final ani = Animal('Tiger', 23);
 ani.setName = 'Tiggerr';
}

class Animal {
  String _name;
  final int age;

  Animal(this._name, this.age) {
    print('hello from constructer');
  }
  
  set setName(String newName){
    _name = newName;
  }
}

flutter dart
1个回答
0
投票

您看到的警告表明私有变量

_name
未在
Animal
类中的任何位置使用。在 Dart 中,简单地为变量赋值(即使在构造函数中)并不算“使用”它。编译器期望变量
_name
应该被打印、在计算中使用、传递给另一个方法,或者用于设置另一个变量和类似的操作。

例如,您可以在方法中使用

_name
,打印它,或者在条件中使用它来满足“已使用”条件:

class Animal {
  String _name;
  final int age;

  Animal(this._name, this.age) {
    print('hello from constructor');
  }

  set setName(String newName){
    _name = newName;
  }

  // Example usage of _name
  void printName() {
    print("The animal's name is $_name");
  }
}

在这个更新版本中,我添加了一个

printName
方法来演示如何使用
_name
。一旦像这样使用
_name
,警告就会消失。

© www.soinside.com 2019 - 2024. All rights reserved.