Flutter bool.fromEnvironment始终返回false

Flutter bool.fromEnvironment始终返回false,flutter,dart,Flutter,Dart,这里有一个代码: const bool a = const bool.fromEnvironment("true"); print(a); // false 是,默认值默认为false。我应该怎么做才能使a为真,而不使用默认值?字符串参数是什么?这可能是一把钥匙吗?你想要实现什么? 将a设置为true可以通过const a=true来实现 bool.fromEnvironment函数允许您查找定义的命名字符串属性,这些属性可以在编译时添加到命令行中,也可以由您编译/运行的平台定义。String

这里有一个代码:

const bool a = const bool.fromEnvironment("true");
print(a); // false

是,默认值默认为false。我应该怎么做才能使
a
为真,而不使用默认值?字符串参数是什么?这可能是一把钥匙吗?

你想要实现什么? 将
a
设置为true可以通过
const a=true来实现

bool.fromEnvironment
函数允许您查找定义的命名字符串属性,这些属性可以在编译时添加到命令行中,也可以由您编译/运行的平台定义。
String.fromEnvironment
int.fromEnvironment
也是如此

一组这样的平台属性是
dart.library.*
,对于平台支持的每个
dart:
库,这些属性都设置为
true

因此,要打印除
false
以外的内容,您可以执行以下操作:

print(const bool.fromEnvironment("dart.library.core"));
这是非常无聊的,因为所有平台都支持
dart:core
。 您可以通过以下方式检查其他库的可用性:

const bool supportsMirrors = bool.fromEnvironment("dart.library.mirrors");
const bool isJavaScript = bool.fromEnvironment("dart.library.js");
或者,您可以在编译时在命令行上提供一个值。让我们以
dart
独立虚拟机为例。编写以下脚本
script.dart

void main() {
  print(const bool.fromEnvironment("my-fancy-thing"));
}
如果您以
dart script.dart
的形式运行它,它将打印
false

如果您以
dart-Dmy fancy thing=true script运行它。dart
它将打印
true

如果您不确定
fromEnvironment
参数,您希望通过
fromEnvironment()实现什么?我正在检查dart lang中的所有类、函数等。。在bool类中,我找到了bool.fromEnvironment,并编写了“返回环境声明名称的布尔值”。如果声明的值是字符串“true”,则声明的布尔值为true,如果值为“false”,则声明的布尔值为false。但结果始终为false。。无论我在fromEnvironment参数中写了什么,我在调试时总是得到false。我想是因为这是一个编译时参数。哇,谢谢。。即使在思想上,图书馆也不是什么意思。