作者回复: 在定义const常量时,你必须直接赋一个字面量,而不能是一个变量或者公式;
在定义final常量时,如何赋值就无所谓了,但赋值后就不能再改了。
作者回复: 如果类型是可枚举的,这样做是可以的。但不建议定义容器类型时用dynamic哈,最好还是明确下类型,比如放double和int的可以用num
作者回复: 棒棒哒。纠正一个小问题:这里不是反射,是运行时类型。另外Flutter是不支持Dart 的反射的哈。
作者回复: 可以的。
如果类型是可枚举的,用"if(v is num)" 或 "if(v is String)"也可以
作者回复: 可以的。不过不太建议用dynamic,如果是int和double,用num即可
作者回复: 可以的。
如果类型是可枚举的,用"if(v is num)" 或 "if(v is String)"也可以
作者回复: 可以的
作者回复: Dart 2.7才支持 https://dart.dev/guides/language/extension-methods
作者回复: final可以,const是声明后
作者回复: dynamic可以当任意类型使用
作者回复: 通常我们并不需要单独安装Dart SDK,flutter会自带(bin/cache/dart-sdk目录),并且会锁死flutter对应的dart版本。如果你想试用最新的功能,可以把flutter切到dev channel,dev channel没有锁死Dart版本,你可以自行替换
作者回复: 赞
作者回复: 参考了C++的实现
作者回复: 常量构造函数,初始化完就不让改了
作者回复: 为了类型安全呀
作者回复: debug环境正常吗