Flutter Dart Random().nextBoolean() 随机返回布尔值

23 min read
abstract class Random {
  /// Creates a random number generator.
  ///
  /// The optional parameter [seed] is used to initialize the
  /// internal state of the generator. The implementation of the
  /// random stream can change between releases of the library.
  external factory Random([int? seed]);

  /// Creates a cryptographically secure random number generator.
  ///
  /// If the program cannot provide a cryptographically secure
  /// source of random numbers, it throws an [UnsupportedError].
  external factory Random.secure();

  /// Generates a non-negative random integer uniformly distributed in the range
  /// from 0, inclusive, to [max], exclusive.
  ///
  /// Implementation note: The default implementation supports [max] values
  /// between 1 and (1<<32) inclusive.
  ///
  /// Example:
  /// ```dart
  /// var intValue = Random().nextInt(10); // Value is >= 0 and < 10.
  /// intValue = Random().nextInt(100) + 50; // Value is >= 50 and < 150.
  /// ```
  int nextInt(int max);

  /// Generates a non-negative random floating point value uniformly distributed
  /// in the range from 0.0, inclusive, to 1.0, exclusive.
  ///
  /// Example:
  /// ```dart
  /// var doubleValue = Random().nextDouble(); // Value is >= 0.0 and < 1.0.
  /// doubleValue = Random().nextDouble() * 256; // Value is >= 0.0 and < 256.0.
  /// ```
  double nextDouble();

  /// Generates a random boolean value.
  ///
  /// Example:
  /// ```dart
  /// var boolValue = Random().nextBool(); // true or false, with equal chance.
  /// ```
  bool nextBool();
}