bool.fromEnvironment 构造函数
在编译配置环境中的 name
对应的布尔值。
编译配置环境由编译或运行 Dart 程序的相关工具提供。环境是一组字符串键到它们相关联的字符串值的映射。与 name
关联的字符串值或在某个程序中对 String.fromEnvironment)、int.fromEnvironment)、bool.fromEnvironment
和 bool.hasEnvironment) 的所有调用中必须保持一致。
此构造函数将 name
关联的字符串值解析为布尔值,类似于 bool.tryParse,这意味着它只接受 "true"
和 "false"
这两个字符串。
如果编译配置环境中没有与 name
关联的值,或者关联的字符串值既不是 "true"
也不是 "false"
,则构造函数调用的值是该构造函数的 defaultValue
布尔值,其默认值为 false
。
结果与以下相同
(const String.fromEnvironment(name) == "true")
|| ((const String.fromEnvironment(name) != "false") && defaultValue)
示例
const bool loggingEnabled = bool.fromEnvironment("logging");
为了检查某个值是否存在,请使用 bool.hasEnvironment。示例
const bool? yesNoMaybe = bool.hasEnvironment("optionalFlag")
? bool.fromEnvironment("optionalFlag")
: null;
要接受除 "true"
和 "false"
之外的其他字符串,请直接使用 String.fromEnvironment 构造函数。示例
const isLoggingOn = (const String.fromEnvironment("logging") == "on");
此构造函数只在作为 const
调用时保证工作。在某些可以在运行时访问编译选项的平台中,它可能作为非常数调用工作,但大多数先期编译的平台都不会有此信息。
实现
external const factory bool.fromEnvironment(String name,
{bool defaultValue = false});