gpt4 book ai didi

dart - 检查对象是否为编译时常量

转载 作者:行者123 更新时间:2023-12-05 01:02:43 25 4
gpt4 key购买 nike

我正在尝试编写一个函数来执行以下操作:

isConstant(new Obj()) => false
isConstant(const Obj()) => true

是否可以?

最佳答案

不。

在运行时,编译时常量的值和您刚刚创建的新对象之间没有区别。差异仅存在于编译时。

您唯一能做的就是检查对象是否与已知的编译时常量相同。
在这种情况下 (x) => identical(const Object(), x);会检测到“const Object()”对象与运行时创建的任何“new Object()”对象不同。只有在编写函数时知道所有编译时常量时才有效,因此它可能没有用。即使使用镜像遍历所有顶级/静态“const”声明也不会找到所有常量(并且可能会非常浪费)。

您想在需要此功能的地方解决什么问题?

关于dart - 检查对象是否为编译时常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25920114/

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