gpt4 book ai didi

function - Dart 成员函数相等规则

转载 作者:行者123 更新时间:2023-12-04 08:35:49 28 4
gpt4 key购买 nike

我正在尝试测试一个类的成员函数是否相等。这是一个小样本:

void main() {
var foo = new Foo();

if (foo.someFunc == foo.someFunc)
print("foo.someFunc == foo.someFunc");
else
print("foo.someFunc != foo.someFunc");
}

class Foo {
someFunc() {
}
}

这会打印“foo.someFunc != foo.someFunc”。这里的相等运算符应该测试函数是否是内存中的同一个对象(看起来它们应该是。)我也尝试使用 identical(foo.someFunc, foo.someFunc),但得到了相同的结果。为什么在这种情况下相等运算符不返回 true?

最佳答案

这在 function equality 中有解释节Dart: Up and Running .

基本上,每次使用 foo.someFunc 时都会创建一个不同的闭包。这就是他们不平等的原因。

关于function - Dart 成员函数相等规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16875895/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com