如何使用Dart生成随机数?


当前回答

这对我很有用

import 'dart:math';

void main() {

  Random random = Random();
  int randomNumber = random.nextInt(5) + 1;
  print(randomNumber);

}

把数字5换成你想要的结果

其他回答

试试这个,你可以控制最小/最大值:

注意,您需要导入省道数学库。

import 'dart:math';

void main() {
  
  int random(int min, int max) {
    return min + Random().nextInt(max - min);
  }

  print(random(5, 20)); // Output : 19, 5, 15.. (5 -> 19, 20 is not included)
}

使用dart:math中的随机类:

import 'dart:math';

main() {
  var rng = Random();
  for (var i = 0; i < 10; i++) {
    print(rng.nextInt(100));
  }
}

在撰写本文时,这段代码已经使用Dart VM和dart2js进行了测试。

一行解决方案,您可以直接调用所有函数的构造函数以及。

import 'dart:math';

print(Random().nextInt(100));

如果你需要加密安全的随机数(例如加密),并且你在浏览器中,你可以使用DOM加密API:

int random() {
  final ary = new Int32Array(1);
  window.crypto.getRandomValues(ary);
  return ary[0];
}

这适用于Dartium、Chrome和Firefox,但可能不适用于其他浏览器,因为这是一个实验性的API。

一个安全的随机API刚刚添加到dart:math

new Random.secure()

飞镖:数学 Random添加了一个安全构造函数,返回加密安全的 随机发生器,从熵源提供的读取 为每个生成的随机值嵌入。

它委托给浏览器中的window.crypto.getRandomValues()和操作系统(如服务器上的urandom)