Конструктор bool.fromEnvironment
Возвращает булево значение объявления среды name.
Булевое значение объявления равно true если объявленное значение является строкой "true", и false если значение равно "false".
Во всех остальных случаях, включая отсутствие объявления для name, результатом является defaultValue.
Результат такой же, как и возвращаемый:
(const String.fromEnvironment(name) == "true")
? true
: (const String.fromEnvironment(name) == "false")
? false
: defaultValue Пример:
const loggingFlag = const bool.fromEnvironment("logging"); Если вы хотите использовать другую строку для истины, отличную от "true", вы можете напрямую использовать конструктор String.fromEnvironment:
const isLoggingOn = (const String.fromEnvironment("logging") == "on"); Строковое значение или его отсутствие, связанное с name , должны быть согласованы во всех вызовах String.fromEnvironment, int.fromEnvironment, bool.fromEnvironment и bool.hasEnvironment в одной программе.
Этот конструктор гарантированно работает только при вызове как const. Он может работать как вызов без константы на некоторых платформах, которые имеют доступ к параметрам компилятора во время выполнения, но большинство платформ с предварительной компиляцией не будут иметь эту информацию.
Реализация
// The .fromEnvironment() constructors are special in that we do not want
// users to call them using "new". We prohibit that by giving them bodies
// that throw, even though const constructors are not allowed to have bodies.
// Disable those static errors.
//ignore: const_constructor_with_body
//ignore: const_factory
external const factory bool.fromEnvironment(String name,
{bool defaultValue = false});
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-core/bool/bool.fromEnvironment.html