我最近开始学习 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;
}
}
您看到的警告表明私有变量
_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
,警告就会消失。