Dart 运算符:名称 'b' 不是类型,不能在 'is' 表达式中使用
Dart Operators : The name 'b' isn't a type and can't be used in an 'is' expression
我是 dart 的新手,正在阅读 dart operators
。在 Eric Windmill fluter in Action
的书中 (第 2 章,2.24,第 34 页)作者说:
is and is! verify that two objects are of the same type. They are equivalent to == and !=.
尝试按照下面的代码实现这一点
void main() {
int a = 7;
int b = 2;
bool z = a == b; // It works when I use the equals symbol
print('Result: $z');
}
但是当我使用 ```is`` 关键字时,出现错误
void main() {
int a = 7;
int b = 2;
bool z = a is b; // It doesn't work here
print('Result: $z');
}
错误
The name 'b' isn't a type and can't be used in an 'is' expression.
Try correcting the name to match an existing type.
不确定该语句的上下文是什么,但 is
和 is!
与 ==
和 !=
不同,因为它们的作用相同.我猜想要解释的是 is
的反义词是 is!
就像 ==
的反义词是 !=
.
==
用于检查两个对象是否相等(基于左侧的对象定义为相等)。因此,对于 int
我们 return true
当使用 ==
时,如果两个数字具有相同的数值。
is
运算符用于测试给定对象是否实现给定接口。一个例子:
void main() {
Object myList = <int>[];
if (myList is List<int>) {
print('We have a list of numbers.');
}
}
您得到的错误告诉您,要使用 is
,您需要在 is
的右侧提供实际类型,而不是对象实例。
我是 dart 的新手,正在阅读 dart operators
。在 Eric Windmill fluter in Action
的书中 (第 2 章,2.24,第 34 页)作者说:
is and is! verify that two objects are of the same type. They are equivalent to == and !=.
尝试按照下面的代码实现这一点
void main() {
int a = 7;
int b = 2;
bool z = a == b; // It works when I use the equals symbol
print('Result: $z');
}
但是当我使用 ```is`` 关键字时,出现错误
void main() {
int a = 7;
int b = 2;
bool z = a is b; // It doesn't work here
print('Result: $z');
}
错误
The name 'b' isn't a type and can't be used in an 'is' expression.
Try correcting the name to match an existing type.
不确定该语句的上下文是什么,但 is
和 is!
与 ==
和 !=
不同,因为它们的作用相同.我猜想要解释的是 is
的反义词是 is!
就像 ==
的反义词是 !=
.
==
用于检查两个对象是否相等(基于左侧的对象定义为相等)。因此,对于 int
我们 return true
当使用 ==
时,如果两个数字具有相同的数值。
is
运算符用于测试给定对象是否实现给定接口。一个例子:
void main() {
Object myList = <int>[];
if (myList is List<int>) {
print('We have a list of numbers.');
}
}
您得到的错误告诉您,要使用 is
,您需要在 is
的右侧提供实际类型,而不是对象实例。